如何在番石榴中使用带有CacheBuilder的expireAfterAccess

时间:2011-11-05 23:06:47

标签: java map guava

我有以下代码:
new MapMaker().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).makeMap();

在番石榴10中,它表示已弃用,应由CacheBuilder取代。这是什么新语法?

3 个答案:

答案 0 :(得分:3)

阅读文档,我想你可能只是使用类似的方法,并传递一个始终抛出异常的加载器。然后,您可以调用asMap()来获取一个地图,在那里您可以放置​​您的密钥和值,并让它由缓存支持。

答案 1 :(得分:3)

新语法看起来像

Cache<K, V> cache = CacheBuilder.newBuilder().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).build();

答案 2 :(得分:1)

Guava版本11.0将以CacheBuilder.build()

为特色

http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html

在此之前,遗憾的是必须使用asMap()