gpt4 book ai didi

caching - Guava 缓存 : How to access without it counting for the eviction policy?

转载 作者:行者123 更新时间:2023-12-02 01:44:08 25 4
gpt4 key购买 nike

我有一个 Guava 缓存,我想在上次访问 key 后经过 X 分钟后过期。但是,我也会定期对所有当前的键值执行操作(比 X 分钟更频繁),并且我不希望将其视为对键值对的访问,因为那样键将永远不会到期。

有没有办法在不影响缓存内部状态的情况下读取键的值? ie cache._secretvalues.get(key) 在那里我可以想象将 Cache 子类化为 StealthCache 并执行 getStealth(key)?我知道依赖内部的东西是不理想的,只是想知道是否有可能。我认为当我执行 cache.asMap.get() 时,它仍然算作内部访问。

最佳答案

来自 official Guava tutorials :

Access time is reset by all cache read and write operations (including Cache.asMap().get(Object) and Cache.asMap().put(K, V)), but not by containsKey(Object), nor by operations on the collection-views of Cache.asMap(). So, for example, iterating through cache.entrySet() does not reset access time for the entries you retrieve.



所以,我必须做的是遍历 entrySet 而不是执行我的隐形操作。

关于caching - Guava 缓存 : How to access without it counting for the eviction policy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26712162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com