對比 Redis 與 Memcached

jopen 9年前發布 | 26K 次閱讀 memcached

前幾天, Redis 的作者 Antirez 寫了一篇博客, 駁斥了某個庫作者認為 Redis 比不上 Memcached 的觀點。

Antirez 的博文列舉了幾個他認為 Redis 比 Memcached 更優秀的地方, 但是并沒有對 Redis 和 Memcached 的每個功能進行詳細的對比, 而這篇文章要做的就是對 Antirez 的文章進行補充: 本文將從功能和網絡搜索熱度兩個方面, 對 Redis 和 Memcached 進行詳細的對比, 通過查看這些對比結果, 讀者應該能明白 Redis 和 Memcached 之間的區別。

功能對比

對比項目 Memcached Redis
支持的數據結構
  • 字符串(二進制安全,可直接儲存字節數據)
  • 字符串(二進制安全,可直接儲存字節數據)
  • 散列
  • 列表
  • 集合
  • 有序集合
  • 位圖(bitmap)
  • 地理位置(GEO)
  • HyperLogLog
單機附加功能
  • 自動過期
  • 流水線
  • 自動過期
  • 流水線
  • 事務
  • Lua 腳本
  • 發布與訂閱
  • 鍵空間通知
  • AOF 持久化
  • RDB 持久化
多機附加功能
  • 由客戶端實現的,基于分片的集群(無Sentinel或復制)
  • 由服務器端實現的,基于分片的集群,自帶Sentinel和復制
  • 復制(無需集群,可獨立運作)
  • Sentinel(無需集群,可獨立運作)
  • twemproxy、codis、redis-cerberus 等多種第三方代理可選
內存分配方式 slab jemalloc
網絡模型 使用多個線程處理多個客戶端,使用鎖對線程進行同步 單線程,通過 I/O 多路復用來處理多個客戶端

結語

在看過了上文的對比之后, 讀者應該能夠明白 Redis 和 Memcached 之間有什么區別了。

因為筆者并不是特別熟悉 Memcached , 所以如果你發現本文中關于 Memcached 的描述有任何不正確的地方, 又或者我遺漏了 Memcached 的某項功能, 那么歡迎各位對文章進行補充。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!