(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等。