白话Redis与Memcached区别
如果简单地比较Redis与Memcached的区别,外在的区别是:
1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
2 Redis支持数据的备份,即master-slave模式的数据备份。
3 Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
Memcached和Redis关键技术对比
Memcached的思想是预先申请许多不同大小的内存分成很多组,存储对象来了,就按大小放在最小能容纳这个对象的空间里,好处是对象来时不用临时申请内存,缺点是会有内存空隙被浪费。
Redis的思想是对象来的时候申请内存就把已经计算好的这个对象大小信息,然后放在这个内存的头位置,再以后的操作中就不用再计算大小了。相当于把需要时间计算的结果保存下来,以后再用就不计算了,用空间换时间的方式优化了原有的内存管理方式。
Redis和Memcached的集群实现机制对比
Memcached 用一致性哈希环的方式,在客户端计算出分布位置。
Redis 是用在服务器实现集群的方式,实现Cluster概念,客户端任意访问节点,节点之间会互相通讯,完成数据的存取。而且因为节点间可互相通讯,有Master-Slave机制,一个节点上的数据会同步到其他节点上,突然宕机之后数据也不会丢失。