欢迎!有关如何工作的更多信息,请参阅关于页面。
似乎TTL缓存应该在命中时重置项的TTL,类似于LRU缓存上hit增加项的最近性,但检查代码后发现它实际上是一个无操作。这是故意的吗?
hit
我有一个分支带有修复,如果您不认为是故意的,欢迎使用,或者我可以正式提交补丁。
如果是故意的,所有缓存的命中行为应该都是无操作吗?即对LRU缓存来说,hit有时可以延长项的生命周期,而TTL缓存则不行这一点特别令人惊讶。
TTL是绝对时间,从项插入时开始计算。缓存查询(命中)不应影响TTL项的生命周期。如果缓存有2秒的TTL,并且您插入X然后重复查询它,它仍然应在2秒后过期。
TTL缓存旨在重复刷新,以确保项在刷新前不会超过TTL时间。