Memcache和Redis区别

memcache官方定义html

Free & open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.java

redis官方定义
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.web

版权相同redis

它们都是使用的bsd协议,使用它的项目能够用于商业用户,没必要发布二次修改的代码,能够修改源代码。缓存

数据类型并发

redis数据类型丰富,支持set liset等类型
memcache支持简单数据类型,须要客户端本身处理复制对象app

持久性分布式

redis支持数据落地持久化存储
memcache不支持数据持久存储spa

分布式存储.net

redis支持master-slave复制模式
memcache能够使用一致性hash作分布式

value大小不一样

memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用

数据一致性不一样

redis使用的是单线程模型,保证了数据按顺序提交。
memcache须要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操做,对比版本号,若是一致就操做,不一致就放弃任何操做

cpu利用

redis单线程模型只能使用一个cpu,能够开启多个redis进程

参考

http://www.cnblogs.com/qunshu/p/3196972.html

http://www.blogjava.net/chhbjh/archive/2012/02/21/370472.html

http://maoyidao.iteye.com/blog/1846089

相关文章
相关标签/搜索