第三方缓存软件memcached和redis异同

memcached和redis相同点:都是以键值对的形式来存储数据,通俗讲就是一个大的hashtable
缓存数据都是存在内容中 key-value

不同点:
memcached:
1、一个key所对应的值必须要通过客户端序列化成二进制流存储 byte[](缺点,由于序列化反序列化消耗CPU比较大)
2、一个key所对应的值最大只能是1m
3、传统的memcached是不支持内存数据的持久化操作,当服务器重启,数据会丢失
4、可以配置读写分离
5、多线程

redis:
1、一个key对应的值可以是 string,list<>,sortlist<>,Set,OrderdSet,实现队列,免去序列化操作(大大提升了CPU的工作效率)
2、redis可以按照设置策略将内存中的数据持久,化到服务器硬盘,当服务器重启以后自动回从服务器硬盘中将数据重新加载回内存
3、可以配置redis的读写分离
4、单线程

如何通过c#来访问:

memcached和redis都是以服务进程的方式驻留服务器上,同时用socket监听请求,通过流来传输数据

他们都提供了c#客户端访问类库(一组.dll)

时间: 2025-01-05 20:42:22

第三方缓存软件memcached和redis异同的相关文章

缓存:Memcached Redis

一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 1.Memcached安装配置 #安装倚赖包 yum install libevent-devel #安装软件 yum

缓存技术PK:选择Memcached还是Redis?

缓存技术PK:选择Memcached还是Redis? memcached完全剖析----------------->高质量文章

缓存选型-Ehcache、memcached、Redis

缘由 今天发现有个项目访问很慢,其中一个原因就是读取oracle时慢,数据量不大,配置表忽略,业务表也就38万条记录.一个解决方案是使用缓存. 那么问题来了,用哪个缓存框架好? Ehcache 项目一直用它,不过版本可能有点低.确实很方便,就一个jar包搞过来就行.java的首选. Memcached 用c写的,比较麻烦,要安装.与java集成的资料感觉不是很多. Redis 也是要安装,虽然我装过不太麻烦,但比起Ehcache还是有点麻烦. 我的选择 看完了下面参考资料的第一篇文章,我就决定还

sping整合redis,以及做mybatis的第三方缓存

一.spring整合redis Redis作为一个时下非常流行的NOSQL语言,不学一下有点过意不去. 背景:学习Redis用到的框架是maven+spring+mybatis(框架如何搭建这边就不叙述了) 首先在pom里面添加当前所需要的jar包,有下面几个: ------ <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <versi

Memcached、Redis OR Tair

一.前言 非关系型数据库(NoSQL = Not Only SQL)的产品非常多,常见的有Memcached.Redis.MongoDB等优秀开源项目,相关概念和资料网上也非常丰富,不再重复描述,本文主要引入Memcached和Redis与淘宝开源Tair分布式存储进行对比测试,由于各自适用场景不同,且每个产品的可配置参数繁多,涉及缓存策略.分布算法.序列化方式.数据压缩技术.通信方式.并发.超时等诸多方面因素,都会对测试结果产生影响,单纯的性能对比存在非常多的局限性和不合理性,所以不能作为任何

谈谈Memcached与Redis

1. Memcached简介 Memcached是以LiveJurnal旗下Danga Interactive公司的Bard Fitzpatric为首开发的高性能分布式内存缓存服务器.其本质上就是一个内存key-value数据库,但是不支持数据的持久化,服务器关闭之后数据全部丢失.Memcached使用C语言开发,在大多数像Linux.BSD和Solaris等POSIX系统上,只要安装了libevent即可使用.在Windows下,它也有一个可用的非官方版本(http://code.jellyc

memcached与redis比较

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:seamon链接:http://www.zhihu.com/question/19645807/answer/12605611来源:知乎 它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存. 为了提高性能,memcached中保存的数据都存储在memcached内置的内存存储空间中.由于数据仅存在于内存中,因此重启memcached.重启操作系统

扫盲:php session缓存至memcached中的方法

memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用.这是一套开放源代码软件,以BSD license授权协议发布.[1] memcached仅支持一些非常简单的命令 比如get(获取某个键值) set(用来设定或保存一个缓存): 其本身是缓存服务器,但本身无法决定缓存任何数据,其缓存机制依赖于服务端和客户端两者必不可少(存储是由服务端进行存储,但存储什么是由客户端进行决定的) 因此客户端

图文并茂超详细搭建redis缓存服务器(nginx+tomcat+redis+mysql实现session会话共享)

博主QQ:819594300 博客地址:http://zpf666.blog.51cto.com/ 有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持! 一.redis介绍 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会