关于memcache的存储问题。

默认page大小默认增长因子情况下,
slab1的chunk大小是0-96B,
slab2的chunk大小是96-120B,
slab3的chunk大小是120-152B,
slab4的chunk大小是152-192B
。。。。以此增加

我现在用服务器上的memcache做测试,存入100个数字的时候为什么memcache存放的是slab4。
100个数字是100B啊,理应存放在slab2的呀!
是我理解错了吗。还是什么原因。

阅读 2.9k
3 个回答

这个得看你的存储的数字一个数字占用了几个字节。

这里面不单单是你的value吧,应该还有key、time、flag等信息

在chunk中通过item存放了缓存对象的一些详细信息,包括key的长度,value长度,过期时间,flag等信息,具体可以查看item结构定义,后面紧跟的是key的实际内容、suffix实际打印的内容、value的实际值,所以chunk中存放远比value信息多,有一些值的作用目前还没有搞清楚,但是大部分都是在缓冲对象使用过程中有明显作用的。

From:http://www.tanktong.com/2010/12/31/memcached%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89/

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进