【问题标题】:how to use expireAfterAccess with CacheBuilder in guava如何在番石榴中使用 expireAfterAccess 和 CacheBuilder
【发布时间】:2011-11-05 23:06:46
【问题描述】:

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

在 guava 10 中,它表示已弃用,应替换为 CacheBuilder。新的语法是什么?

【问题讨论】:

    标签: java map guava


    【解决方案1】:

    新语法看起来像

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

    【讨论】:

      【解决方案2】:

      阅读文档,我想你可能只是使用类似的方法,并传递一个总是抛出异常的加载器。然后,您将调用 asMap() 来获取一个映射,您可以在其中放置您的键和值并让缓存支持它。

      【讨论】:

      【解决方案3】:

      Guava 11.0 版将包含CacheBuilder.build()

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

      在此之前,很遗憾有必要使用asMap()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-07
        相关资源
        最近更新 更多