如何将()值放入Guava的Cache类中?

Gil*_*ili 9 java guava

我对Guava 10中引入的CacheBuilderCache感到有些困惑.文档暗示可以覆盖值,但据我所知,Cache不包含任何方法.有任何想法吗?

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

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

maa*_*nus 6

很久以来,一直在Cache#asMap回归ConcurrentMap.

AFAIK,还没有.但有一个线程提到Cache.asMap.put计划发布11.

我会说,如果从(缓存设置方法目前已被弃用的地方)的演变,Javadoc 的当前旧状态是一个残余.CacheBuilderMapMaker

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

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

  • 番石榴10.0.1应该已经解决了这个问题.http://groups.google.com/group/guava-discuss/browse_thread/thread/f01f7583bb4422d7 (3认同)