memcached限制以及與reids的比較

memcached限制以及與reids的比較

博客分類: 知識積累
memcachedredis
一、memcached限制
在分佈式企業級應用中,memcached被廣泛使用。但是關於它自身的一些限制需要我們瞭解:
1、過期時間
memcached的緩存策略爲:失效時間 + LRU(最近最少使用)。其過期時間設置上限閾值爲30天,若超過30天后,將獲取不到存儲的數據。
2、數據穩定性
memcached需要保證集羣的內存空間足夠大,否則內存滿了之後,會採用LRU置換算法,將部分數據清除,加上其無法進行持久化,所以將導致數據丟失。
3、存儲限制
鍵被限制在250字符之內。而且由於memcached默認採用了slab內存分配機制,所以單個數據項不能超過 1M。memcached沒有采用malloc/free的方法來分配內存,因爲後者可能產生大量內存碎片,操作系統極端情況下需要消耗大量資源在內存管理上。使用了slab後,通過分配的可重複使用的chunk來解決這一問題。關於memcached的內存管理機制可以參考http://basiccoder.com/memcached-memory-mamagement.html
4、訪問限制
允許最大同時連接數200.
5、支持數據結構
只支持key-value結構。沒有redis提供的豐富數據結構
6、沒有自帶分佈式實現。需要自己實現。比如比較常見的,通過虛擬化一致性哈希即可實現。

二、與redis的比較這也是一個老生常談的話題。相比來說,redis作爲一種緩存,或者乾脆稱之爲nosql數據庫,提供了豐富的數據類型(list、set等),可以將大量數據的排序從單機內存解放到redis集羣中處理,並可以用以實現輕量級消息中間件。其自帶master-slave備份、支持持久化。memcached和redis的性能比較上,redis在小於100K的數據讀寫上速度優於memcached。但數據大小過大時,其性能將急遽降低,劣於memcached。但是不知道最新的redis是否在該問題上已經做了優化。
發佈了152 篇原創文章 · 獲贊 1 · 訪問量 6188
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章