gpt4 book ai didi

java - 如何将 () 值放入 Guava 的缓存类中?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:19:01 26 4
gpt4 key购买 nike

我对 CacheBuilder 有点困惑和 Cache在 Guava 10 中引入。文档暗示可以 overwrite values但据我所知,Cache不包含任何这样做的方法。有什么想法吗?

我正在尝试构建一个在上次读取或写入后 10 秒过期的映射。查找值时,我希望返回先前设置的值,或者如果不存在则计算默认值。

注意:这个问题已经过时了。虽然上面的 Javadoc 显示了 Cache.put(K key, V value) 方法的存在,但在问题首次发布时它并不存在。

最佳答案

长期以来,Cache#asMap 返回一个 ConcurrentMap View 。

据我所知,还没有。但是有一个 thread提到 Cache.asMap.put 计划用于版本 11。

如果 CacheBuilderMapMaker 演化而来(其中缓存设置方法目前已弃用)。

I'm trying to construct a Map that expires a key 10 seconds after it was last read or written-to. When a value is looked up, I expect the previously-set value to be returned, or a default value to be computed if none exists.

使用 expireAfterAccess(10, TimeUnit.SECONDS) 将使条目在任何访问后保持 Activity 状态 10 秒。您将获得的唯一值是您的 CacheLoader 计算的值(在 get 之前或期间)。

关于java - 如何将 () 值放入 Guava 的缓存类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7616169/

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