总结1:
memcache的官方定义
自由
开源的、高
性能的、分布式的
内存对象缓存
系统,本质上是通用的,它也称为和。
Redis官方定义
Redis是一个开源的,BSD许可,先进的关键值存储。它,存储,它也被称为以下两个方面。
同样的版权
他们
都是由BSD协议使用,可用于企业
用户无需公布两个
修改代码和修改源代码。
数据
类型 Redis数据类型丰富,集利赛特和其他类型的
支持 Memcache支持简单的数据类型,需要客户
处理复杂对象
坚持不懈
redis支持数据持久存储的着陆
memcache不支持数据持久性存储
分布式存储
redis支持主从
复制模式 这可以使用一致性哈希作为分布式
值大小不同
这是一个内存缓存,密钥长度小于250的字符,和一个单一的项目商店小于1m,不适合使用在虚拟机。
不同的数据一致性
Redis使用单
线程模型来保证数据在提交订单。
这需要使用CAS保证数据consistency.cas(
检查组)是一种机制来保证并发性。它属于乐观锁类。原理很简单:它需要版本号和
操作来比较版本号。如果一致性不一致,它将放弃任何操作,如果它是不一致的。
CPU利用率
使用单线程模型只能使用一个CPU,它可以打开多个redis过程
总结两:
1。Redis,不是所有的数据都存储在内存中,这是从memcached最大的
区别。
2。redis不仅支持简单的K / V类型的数据,而且还提供了数据结构如表,存储,哈希等。
3。redis支持数据,这是备份,在主从模式的数据备份。
4。redis支持持久化数据,使数据在内存中的
磁盘可以再次重新
启动。
就我个人而言,我认为最本质的区别是,使用具有多方面的数据库的特点,或是一个数据库系统,和memcached是一个简单的K / V缓存。
总结三:
Redis和memecache之间的区别在于:
1。存储模式:
memecache内存中的所有数据,并将其断电后下降,且数据不能超过内存大小。
Redis是部分在
硬盘上,保证了数据的持久性。
2。数据支持类型:
redis是远远超过memecache数据支持。
三.基础模型的使用是不同的:
Redis的新版本直接建立自己的虚拟机机制,因为一般系统调用系统
函数来浪费一定的时间来移动和要求。
4。操作环境不同:
目前,Redis只支持Linux上,节省了其他系统的支持,使其能更好的集中于制度环境的
优化。虽然微软有一个团队补丁,但不是在主干上。
memcache只能用作缓存,缓存
Redis的内容可以登陆,即类似于mondb,然后redis可以用作缓存,你可以建立一个主从