每个对象的 Memcached 存储
Posted
技术标签:
【中文标题】每个对象的 Memcached 存储【英文标题】:Memcached Storage Per Object 【发布时间】:2012-02-08 01:37:51 【问题描述】:如何确定每个对象在 memcached 中使用了多少内存? “stats item”命令似乎最接近,但不包括用法。我正在考虑在 Ruby 中执行此操作 - 检索示例对象并使用一些内存测量来测量它们的大小。但不确定这有多准确?
【问题讨论】:
【参考方案1】:对象的大小是键长度 + 数据长度 + 数据结构 + 字符串化的“标志”字段 + 2 个字节。加上或减去两个字节,因为我从内存中回忆了这个:P
请注意,当我说“数据长度”时,对您来说,这将是 rails 将其放入 memcached 之前的序列化(编组/json'ed/etc)值。如果您知道密钥,则可以手动获取一次以恢复长度。
您可以在运行“make”后从 memcached tarball 中运行“./sizes”命令来查找数据结构大小。
系统中的总字节数为“curr_bytes”,这是“stats”命令的结果,但这不包括缓存中的已刷新或过期项目。
【讨论】:
以上是关于每个对象的 Memcached 存储的主要内容,如果未能解决你的问题,请参考以下文章