1. 程式人生 > >redis和memcached的區別(總結)

redis和memcached的區別(總結)

數據緩存 tar .com www. emca session lan 臨時性 target

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可以定期保存到磁盤(持久化);

7、災難恢復--memcache掛掉後,數據不可恢復; redis數據丟失後可以通過aof恢復;

8、Redis支持數據的備份,即master-slave模式的數據備份;

9、應用場景不一樣:Redis出來作為NoSQL數據庫使用外,還能用做消息隊列、數據堆棧和數據緩存等;Memcached適合於緩存SQL語句、數據集、用戶臨時性數據、延遲查詢數據和session等。

redis和memcached的區別(總結)