我有下面的代码使用expireAfterAccess:
new MapMaker().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).makeMap();
如何与CacheBuilder番石榴
番石榴10它说,它已经过时,应由CacheBuilder
更换。这是什么新的语法?
我有下面的代码使用expireAfterAccess:
new MapMaker().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).makeMap();
如何与CacheBuilder番石榴
番石榴10它说,它已经过时,应由CacheBuilder
更换。这是什么新的语法?
新的语法看起来像
Cache<K, V> cache = CacheBuilder.newBuilder().expireAfterAccess(SESSION_EXPIRATION, TimeUnit.MILLISECONDS).build();
阅读文档,我想你可能只是使用类似的方法,并传递一个总是抛出异常的加载器。然后,您可以拨打asMap()
来获取地图,在那里您可以放置您的密钥和值,并使其支持缓存。
番石榴11.0版本将有CacheBuilder.build()
:
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/CacheBuilder.html
直到后来很遗憾,必须使用asMap()
。
Cache.asMap()把()按10.0.1:http://groups.google.com/group/guava-discuss/browse_thread/thread/f01f7583bb4422d7 –
谢谢@eneveu。我从我的答案中删除了警告。 –