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

你可能感兴趣的:(memcached)