您好我在Perl中实现了memcached的简单垃圾收集器。 我想在日期之前或之后删除所有行(键,值是序列化的(有效负载,日期))。
什么是最有效的实施?获取所有数据,然后检查周期中的日期(但数据可能变得非常大,我认为它可能很慢而且不是很有效)?
还有其他想法或意见吗?
谢谢,Cospel
答案 0 :(得分:1)
你不能以有效的方式迭代memcached密钥(我的意思是没有“好”的方法来做到这一点)。最佳解决方案是设置正确的 expires 字段,以便条目自动过期/删除。在不再需要它之后立即删除密钥也是很好的。
内部memcached使用LRU,因此当没有可用内存时,大多数未使用的项目将被丢弃。这可能是具有大TTL(到期时间)的条目,因此可能是根据您的需求调整的参数。