每个对象的 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 存储的主要内容,如果未能解决你的问题,请参考以下文章

提供源码包高性能存储对象缓存 之Memcached

Memcached(高性能内存对象缓存)

高性能内存对象缓存——Memcached

Memcached学习笔记之一:memcached安装

理解 Memcached

高性能内存对象缓存Memcached