Redis 和 memache 緩存的區別

參考:http://www.phpmianshi.com/?id=81

 

1.數據類型

 

Redis數據類型豐富,支持set list hash等類型

 

memcache支持簡單數據類型,需要客戶端自己處理複雜對象

 

2.持久性

 

redis支持數據落地持久化存儲,並不是所有的數據都一直存儲在內存中

 

memcache不支持數據持久存儲,斷電後會掛掉,數據不能超過內存大小

 

3.分佈式存儲

 

redis支持master-slave複製模式

 

memcache可以使用一致性hash做分佈式

 

value大小不同

 

memcache是一個內存緩存,key的長度小於250字符,單個item存儲要小於1M,不適合虛擬機使用

 

4.數據一致性不同

 

redis使用的是單線程模型,保證了數據按順序提交。

 

memcache需要使用cas保證數據一致性。CAS(Check and Set)是一個確保併發一致性的機制,屬於“樂觀鎖”範疇;原理很簡單:拿版本號,操作,對比版本號,如果一致就操作,不一致就放棄任何操作

 

5.cpu利用

 

redis單線程模型只能使用一個cpu,可以開啓多個redis進程

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章