memcache和redis緩存對比及我爲何選擇redis

對比結論

1. 性能上:

性能上都很出色,具體到細節,因爲Redis只使用單核,而Memcached可使用多核,因此平均每個核上Redis在存儲小數據時比Memcached性能更高。而在100k以上的數據中,Memcached性能要高於Redis,雖然Redis最近也在存儲大數據的性能上進行優化,可是比起 Memcached,仍是稍有遜色。redis

2. 內存空間和數據量大小:

MemCached能夠修改最大內存,採用LRU算法。Redis增長了VM的特性,突破了物理內存的限制。
Memcached單個key-value大小有限,一個value最大隻支持1MB,而Redis最大支持512MB。算法

3. 操做便利上:

MemCached數據結構單一,僅用來緩存數據,而Redis支持更加豐富的數據類型,也能夠在服務器端直接對數據進行豐富的操做,這樣能夠減小網絡IO次數和數據體積。docker

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,歡迎大神指教!!!也但願能結交大神,能帶着我學習。。。服務器

相關文章
相關標籤/搜索