根据日期删除Memcached中的行

时间:2014-08-13 09:14:04

标签: perl caching garbage-collection memcached

您好我在Perl中实现了memcached的简单垃圾收集器。 我想在日期之前或之后删除所有行(键,值是序列化的(有效负载,日期))。

什么是最有效的实施?获取所有数据,然后检查周期中的日期(但数据可能变得非常大,我认为它可能很慢而且不是很有效)?

还有其他想法或意见吗?

谢谢,Cospel

1 个答案:

答案 0 :(得分:1)

你不能以有效的方式迭代memcached密钥(我的意思是没有“好”的方法来做到这一点)。最佳解决方案是设置正确的 expires 字段,以便条目自动过期/删除。在不再需要它之后立即删除密钥也是很好的。

内部memcached使用LRU,因此当没有可用内存时,大多数未使用的项目将被丢弃。这可能是具有大TTL(到期时间)的条目,因此可能是根据您的需求调整的参数。