(1)Redis支持数据的持久化,能够将内存中的数据保存在磁盘中,重启的时候能够再次加载进行使用。数据库
(2)Redis不单单支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。缓存
(3)Redis支持数据的备份,即master-slave模式的数据备份。安全
Redis常被拿来和高性能键值缓存服务器Memcached进行对比:这二者均可以用来存储键值对,彼此的性能也相差无几,可是Redis相对支持更多的数据类型,除了支持键值对以外,还支持list,set,zset,hash等数据结构的存储,而Memcached只能存储普通的字符串键。服务器
Memcached用户只能经过APPEND
的方式将数据添加到已有的字符串的末尾,并将这个字符串当作列表来使用。可是在删除这些元素的时候,Memcached采用的是经过黑名单的方式来隐藏列表里的元素,从而避免了对元素的读取、更新、删除等操做。相反的Redis的List和Set容许用户直接添加和删除元素。数据结构
Redis和Memcached的其余区别以下:分布式
一、Redis和Memcached都是将数据存放在内存中,都是内存数据库。不过Memcached还可用于缓存其余东西,例如图片、视频等等;性能
二、Redis不单单支持简单的K/V类型的数据,同时还提供List,Set,Hash等数据结构的存储;spa
三、虚拟内存–Redis当物理内存用完时,能够将一些好久没用到的Value 交换到磁盘;3d
四、过时策略–Memcached在set时就指定,例如:set key1 0 0 8
,即永不过时。Redis能够经过例如expire
设定,例如:expire name 10
;code
五、分布式–设定Memcached集群,利用magent作一主多从;Redis能够作一主多从。均可以一主一从;
六、存储数据安全–Memcached挂掉后,数据没了;Redis能够按期保存到磁盘(持久化);
七、灾难恢复–Memcached挂掉后,数据不可恢复; Redis数据丢失后能够经过AOF恢复;
八、Redis支持数据的备份,即Master-Slave模式的数据备份;
九、应用场景不同:Redis出来做为NoSQL数据库使用外,还能用作消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和Session等。