当一个项目被放入缓存时,它会分配一个超时时间(通过对 Put() 的调用显式,或者从缓存配置中隐含)。我想更新/重置我检索到的每个项目的到期时间 [call Get() on]。
我是否需要明确放置/更新项目或到期时间会自动更新为现在 + 超时?
==更新==
看起来意图是应该调用ResetObjectTimeout() 方法。我在文档中没有看到其他关于过期更新逻辑的提及。
==更新 2==
在快速测试/实验中,ResetObjectTimeout() 生成的网络流量与使用 Put() 一样多,因此似乎整个条目都通过网络传输只是为了更新超时。我尝试了每个项目不同数量的数据,尽管事实上我没有添加任何新项目,但流量水平确实随着数据量的增加而上升。
我想更新超时的原因是我希望缓存项在上次使用后在缓存中保留 N 分钟。我预计这将是一种非常常见的使用模式,并且要实现它,我需要在每次获取操作时通过网络重新发送所有数据,这大大降低了使用缓存的好处,例如限制可伸缩性和性能。