1、 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用
于缓存其他东西,例如图片、视频等等。
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存
储。
3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘
4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以
通过例如expire 设定,例如expire name 10
5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以
一主一从
6、存储数据安全--memcache
数据不能持久化,断电后数据丢失;redis可以定期保存到磁盘,
是可以进行持久化的。可以使用
RDB
机制和
AOF
机制进行数据持久化
7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复
8、Redis支持数据的备份,即master-slave模式的数据备份。
9. memcached
单个
key
老版本是
1M
,新版本是
2M
。我们可以通过
memcache.h
文
件去修改他的单个 KEY 的大小, redis 单个 key 大小为 512M。
10. memcached 是一个多线程的缓存服务器,而 redis 是一个单线程的服务器
11.memcached 不支持集群,它的多服务器情况是在 addServer 的时候,由客户端使用
hash 的方式,分配至指定的服务器上的。
12.. redis 支持集群,并且 redis 有最多 16 个库。 memcached 没有库的概念
13. redis 支持更多的数据类型,而 memcached 只有键值对,我们需要自行处理值。
14. redis 在使用的时候,还能单作队列服务器使用,还支持消息订阅(聊天室,消息
推送)。
15. redis 内部实现的数据结构是字典。
件去修改他的单个 KEY 的大小, redis 单个 key 大小为 512M。
10. memcached 是一个多线程的缓存服务器,而 redis 是一个单线程的服务器
11.memcached 不支持集群,它的多服务器情况是在 addServer 的时候,由客户端使用
hash 的方式,分配至指定的服务器上的。
12.. redis 支持集群,并且 redis 有最多 16 个库。 memcached 没有库的概念
13. redis 支持更多的数据类型,而 memcached 只有键值对,我们需要自行处理值。
14. redis 在使用的时候,还能单作队列服务器使用,还支持消息订阅(聊天室,消息
推送)。
15. redis 内部实现的数据结构是字典。