欢迎!有关本网站的工作原理,请参阅关于页面获取更多信息。
看起来TTL缓存应该在命中时重置项的TTL,类似于LRU缓存中的命中会增加项的新鲜度,然而在检查代码时,它实际上是一个无操作。这是故意的吗?
命中
我已经有一个修复分支,如果你不认为是故意的,或者我可以按正规流程提交补丁。
如果是故意的,那么所有缓存的重命中行为应该是无操作吗?即,某个命中有时会延长项的生命周期(LRU缓存),而有时不会(TTL缓存)
TTL是绝对时间,从项插入时开始计算。缓存查找(命中)不应影响TTL项的生存期。如果缓存有2秒的TTL,你插入X然后反复查找它,它仍然应该2秒后过期。
TTL缓存旨在不断刷新,以确保没有任何项在刷新之前会超过TTL时间“过期”。