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