1. 程式人生 > >Redis:redis和memcached 比較

Redis:redis和memcached 比較

兩者都是非關係型記憶體鍵值資料庫(NOSQL),主要有以下不同:

資料型別

Memcached 僅支援字串型別,而 Redis 支援五種不同的資料型別,可以更靈活地解決問題。

資料持久化

Redis 支援兩種持久化策略:RDB 快照和 AOF 日誌,而 Memcached 不支援持久化。

分散式

Memcached 不支援分散式,只能通過在客戶端使用一致性雜湊來實現分散式儲存,這種方式在儲存和查詢時都需要先在客戶端計算一次資料所在的節點。

Redis Cluster 實現了分散式的支援。

記憶體管理機制

  • 在 Redis 中,並不是所有資料都一直儲存在記憶體中,可以將一些很久沒用的 value 交換到磁碟,而 Memcached 的資料則會一直在記憶體中。

  • Memcached 將記憶體分割成特定長度的塊來儲存資料,以完全解決記憶體碎片的問題。但是這種方式會使得記憶體的利用率不高,例如塊的大小為 128 bytes,只儲存 100 bytes 的資料,那麼剩下的 28 bytes 就浪費掉了。