若是簡單地比較Redis與Memcached的區別,外在的區別是:
1 Redis不單單支持簡單的k/v類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
2 Redis支持數據的備份,即master-slave模式的數據備份。
3 Redis支持數據的持久化,能夠將內存中的數據保持在磁盤中,重啓的時候能夠再次加載進行使用。服務器
Memcached和Redis關鍵技術對比數據結構
Memcached的思想是預先申請許多不一樣大小的內存分紅不少組,存儲對象來了,就按大小放在最小能容納這個對象的空間裏,好處是對象來時不用臨時申請內存,缺點是會有內存空隙被浪費。優化
Redis的思想是對象來的時候申請內存就把已經計算好的這個對象大小信息,而後放在這個內存的頭位置,再之後的操做中就不用再計算大小了。至關於把須要時間計算的結果保存下來,之後再用就不計算了,用空間換時間的方式優化了原有的內存管理方式。對象
Redis和Memcached的集羣實現機制對比內存
Memcached 用一致性哈希環的方式,在客戶端計算出分佈位置。同步
Redis 是用在服務器實現集羣的方式,實現Cluster概念,客戶端任意訪問節點,節點之間會互相通信,完成數據的存取。並且由於節點間可互相通信,有Master-Slave機制,一個節點上的數據會同步到其餘節點上,忽然宕機以後數據也不會丟失。hash