Ark*_*ito 2 memcached memcache
我们的 memcache 安装最近开始删除密钥,我们不确定为什么。大量密钥同时消失。
Memcache 报告驱逐低到不存在,我们的应用程序无法清除 memcache(它只能删除特定键)。即使应用程序不知道的密钥也会被删除,因此我们非常确信它们已经过期。然而,我们的内存缓存配置已经有一段时间没有被触及了。
以前有没有人调试过这样的问题,如果是这样,您是否建议我们采取任何步骤?memcache 的过期策略有多灵活 - 我们是否可能突然遇到基于(例如)键写入频率的标准?
小智 5
即使您在 Memcached 中将键设置为不过期,如果 Memcached 已满,也会根据最近最少使用记录删除记录。标准的基于slab 的存储机制将记录存储在固定大小的块中,这些块是从1Mb 大小的slab 中分配的。虽然这很快,但这也意味着 Memcached 最终可能会浪费大量内存。一旦分配了一个slab来保存特定大小的块,我认为这些块不能被调整大小。如果混合缓存大小对象,并且组合随时间变化,则 memcached 最终可能会将小对象存储在更大的块中,如果这些是唯一可用的。
这是像gear6 (www.gear6.com) 和northscale (www.northscale.com) 等公司在其Memcached 发行版中解决的问题之一。
| 归档时间: |
|
| 查看次数: |
6124 次 |
| 最近记录: |