我对 memcached 比较陌生,只知道设置和工作的基础知识。我在基于 Magento 的网站上遇到了一个问题,即缓存变得太大,导致编辑产品详细信息时速度缓慢。我远程登录到 memcached 服务器并运行stats,发现其中有近 900 个兆和超过 65500 个项目。我输入了 flush_all 命令并重新运行统计信息,结果仍然相同。经过一些研究,我发现刷新它会使条目无效,但实际上并没有释放空间。随着时间的推移,随着新项目的添加,它会这样做。据我所知,它从未释放近 900 兆的空间,也从未删除似乎卡在其中的 65000 多个项目。我还没有尝试重新启动 memcached,因为这是一个实时站点,我不想造成任何问题。如果重新启动服务器可以释放空间,但这仍然不是解决方案,因为我不想每次都这样做。有人可以帮助我了解发生了什么事以及如何解决这个问题吗?
最佳答案
您需要调整 Memcached 允许在实例中使用的最大内存量。在命令行中,-m
标志用于设置缓存可以容纳的最大兆字节数。刷新缓存只会使其中的所有内容无效,并且这些项目会被延迟驱逐。如果您希望 memcached 使用更少的内存,则无法绕过它:您必须使用更少的内存重新启动它。
关于linux - memcached 何时删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17971173/