memcached最大能存儲多大的單個item?

 1MB。如果你的數據大於1MB,可以考慮在客戶端壓縮或拆分到多個key中。

爲什麼單個item的大小被限制在1M byte之內?
啊…這是一個大家經常問的問題!

簡單的回答:因爲內存分配器的算法就是這樣的。

詳 細的回答:Memcached的內存存儲引擎(引擎將來可插拔…),使用slabs來管理內存。內存被分成大小不等的slabs chunks(先分成大小相等的slabs,然後每個slab被分成大小相等chunks,不同slab的chunk大小是不相等)。chunk的大小 依次從一個最小數開始,按某個因子增長,直到達到最大的可能值。

如果最小值爲400B,最大值是1MB,因子是1.20,各個slab的chunk的大小依次是:slab1 - 400B slab2 - 480B slab3 - 576B …

MEMCACHE 性能優化:http://tank.blogs.tkiicpp.com/category/programming/memcache/

------------------------------------------------------------------------

來源:http://blog.csdn.net/adparking/article/details/6897842

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