-
資料支援型別:Memcache 的資料型別支援相對簡單; Redis 具有複雜的資料型別。
儲存方式不同:memcache將所有資料儲存在記憶體中,斷電後會結束通話,資料不能超過記憶體大小; 一些 Redis 儲存在硬碟上,以確保資料的永續性。
使用底層模型的方式不同:它們之間的底層實現不同,與客戶端通訊的應用協議也不同,Redis構建了自己的VM機制,因為一般系統呼叫系統函式,浪費了一定的時間去移動和請求。
取值大小不同:Redis最大可達1GB; Memcache 只有 1MB。
集群模式:Memcached 沒有原生集群模式,需要依靠客戶端將資料寫入集群中的分片。 但是,Redis 目前原生支援集群模式。
執行緒:Memcached 是一種多執行緒、無阻塞的 IO 多路復用網路模型; Redis 使用單執行緒、多路復用的 IO 模型。
-
公司現在普遍使用 Redis 進行快取,而 Redis 本身也越來越強大了!
Redis支援更豐富的資料型別(更複雜的應用場景):Redis不僅支援簡單的K V資料,還提供list、set、zset、hash等資料結構的儲存。 Memcache 支援簡單的資料型別 string。
Redis 支援資料持久化,可以將資料保留在磁碟上的記憶體中,重啟時可以再次載入,而 MemeCache 則將所有資料儲存在記憶體中。
集群模式:Memcached 沒有原生集群模式,需要依靠客戶端將資料寫入集群中的分片。 但是,Redis 目前原生支援集群模式。
Memcached 是一種多執行緒、無阻塞的 IO 多路復用網路模型; Redis 使用單執行緒、多路復用的 IO 模型。
-
Redis 的作者 Salvatore Sanfilippo 曾經比較過這兩種記憶體資料儲存系統:
Redis支援服務端資料操作:Redis的資料結構比Memcached多,支援的資料操作也更豐富。 這大大增加了網路 IO 的數量和資料量。
在 Redis 中,這些複雜的操作通常與正常的 get 設定一樣高效。 因此,如果您需要乙個可以支援更複雜結構和操作的快取,那麼 Redis 是乙個不錯的選擇。
記憶體使用效率比較:如果使用簡單的鍵值儲存,memcached 的記憶體利用率會更高,但如果 Redis 使用雜湊結構進行鍵值儲存,則由於其組合壓縮,其記憶體利用率會高於 memcached。
效能對比:由於Redis只使用單核,而Memcached可以使用多核,因此Redis在平均儲存小資料時比Memcached具有更高的效能。 在100k以上的資料中,MEMCached的效能高於REDIS,雖然Redis最近優化了儲存大資料的效能,但還是略遜於MEMCached。
1.概念不同:
德治要求統治集團以身作則,注重修身勤奮,充分發揮道德影響作用; 重視對人民的道德教育,“為政要有德”,以德為主,輔以德。 >>>More