對比結論 1. 性能上: 性能上都很出色,具體到細節,由於Redis只使用單核,而Memcached可以使用多核,所以平均每一個核上Redis在存儲小數據時比Memcached性能更高。而在100k以上的數據中,Memcached性能要高於Redis,雖然Redis最近也在存儲大數據的性能上進行優化 ...
對比結論
1. 性能上:
性能上都很出色,具體到細節,由於Redis只使用單核,而Memcached可以使用多核,所以平均每一個核上Redis在存儲小數據時比Memcached性能更高。而在100k以上的數據中,Memcached性能要高於Redis,雖然Redis最近也在存儲大數據的性能上進行優化,但是比起 Memcached,還是稍有遜色。
2. 記憶體空間和數據量大小:
MemCached可以修改最大記憶體,採用LRU演算法。Redis增加了VM的特性,突破了物理記憶體的限制。
Memcached單個key-value大小有限,一個value最大隻支持1MB,而Redis最大支持512MB。
3. 操作便利上:
MemCached數據結構單一,僅用來緩存數據,而Redis支持更加豐富的數據類型,也可以在伺服器端直接對數據進行豐富的操作,這樣可以減少網路IO次數和數據體積。
4. 可靠性上:
MemCached不支持數據持久化,斷電或重啟後數據消失,但其穩定性是有保證的。Redis支持數據持久化和數據恢復,允許單點故障,但是同時也會付出性能的代價。
5. 存儲數據類別上的區別:
redis支持很存儲表:key-value、hash表、list表等
memcache只支持key-value,不過memcache可以在記憶體中緩存圖片、視頻等。
6. 應用場景:
Memcached:動態系統中減輕資料庫負載,提升性能;做緩存,適合多讀少寫,大數據量的情況。
Redis:適用於對讀寫效率要求都很高,數據處理業務複雜和對安全性要求較高的系統。
我為什麼選擇redis
其實redis也支持cas,而且最新的redis支持分散式集群,即使100k以上的流量性能不及memcache高,但是我自己的網站沒有那麼高的併發量啊,O(∩_∩)O哈哈~
上個博客測試我sso登錄的併發量2000反應3s,所以達不到那麼高的併發,其次個人的伺服器也存在不穩定情況,docker沒有配置k8s管理,容易出現進程失效問題,所以redis還能很好的保護我的數據,故,我選擇redis,歡迎大神指教!!!也希望能結交大神,能帶著我學習。。。