redis作者曾經對這兩種基於記憶體的資料儲存系統進行過比較,對比如下:
redis支援伺服器端的資料操作:redis相比memcached來說,擁有更多的資料結構和並支援更豐富的資料操作,通常在memcached裡,你需要將資料拿到客戶端來進行類似的修改再set回去。這大大增加了網路io的次數和資料體積。在redis中,這些複雜的操作通常和一般的get/set一樣高效。所以,如果需要快取能夠支援更複雜的結構和操作,那麼redis會是不錯的選擇。
記憶體使用效率對比:使用簡單的key-value儲存的話,memcached的記憶體利用率更高,而如果redis採用hash結構來做key-value儲存,由於其組合式的壓縮,其記憶體利用率會高於memcached。
效能對比:由於redis只使用單核,而memcached可以使用多核,所以平均每乙個核上redis在儲存小資料時比memcached效能更高。而在100k以上的資料中,memcached效能要高於redis,雖然redis最近也在儲存大資料的效能上進行優化,但是比起memcached,還是稍有遜色。
總結:redis支援的資料型別更為豐富,memecache只能支援簡單的資料型別
redis支援資料的持久化,memecache不支援
記憶體管理的方式不同
集群管理的方式不同:memcached採用客戶端實現分布式儲存,當客戶端向memcached集**送資料之前,首先會通過內建的分布式演算法計算出該條資料的目標節點,然後資料會直接傳送到該節點上儲存。但客戶端查詢資料時,同樣要計算出查詢資料所在的節點,然後直接向該節點傳送查詢請求以獲取資料。redis更偏向於在伺服器端構建分布式儲存。
Redis與Memcache的區別
今天來總結下redis與memcache的區別。redis與memcache都是為了應付網路上的高併發,大流量而存在的。memcached 是國外社群 livejournal的開發團隊開發的高效能的分布式記憶體快取伺服器。一般的使用目的是,通過快取資料庫查詢結果,減少資料庫訪問次數,以提高動態web...
memcache與redis的區別
我們來介紹一些redis redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api。它通常被稱為資料結構伺服器。同時也是乙個高效能的key value的非關係型資料庫 非關係型 表與表之間沒有任何關聯,...
redis與memcache區別總結
2015年9月2日 14 04 19 總會被問到兩者的區別,在這裡總結下 redis 有內建的多種資料結構,list 可用於實現小型佇列 hash,set,zset.memcache 只是簡單的鍵值儲存 redis 有持久化機制,還利用了虛擬記憶體,memcache是純記憶體,掛了就沒有了 快取穿透...