【问题标题】:how to set cleaning cache timeout in play framework using cacheApi?如何使用 cacheApi 在播放框架中设置清理缓存超时?
【发布时间】:2017-10-22 06:52:27
【问题描述】:

我在我的游戏应用程序中使用cacheApi,我想知道我是否可以设置一些缓存清理超时?

我在方法中使用cacheApi 对象作为if the data is in cache bring from cache, if not, so go get it from the server with an api call

现在我希望每 24 小时清理一次缓存,以便能够从服务器获取新数据。

我是如何完成这样的事情的?

【问题讨论】:

    标签: java scala caching playframework


    【解决方案1】:

    我用这段代码来配置超时:

    CacheConfiguration<Long, String> cacheConfiguration = CacheConfigurationBuilder.newCacheConfigurationBuilder(Long.class, String.class,
            ResourcePoolsBuilder.heap(100)) 
        .withExpiry(Expirations.timeToLiveExpiration(Duration.of(20, TimeUnit.SECONDS))) 
        .build();
    

    【讨论】:

      【解决方案2】:

      Play Framework v2.5:使用CacheApi.set 方法并传递所需的过期时间来设置缓存值的离开时间(TTL)。

      Play Framework v2.6:使用SyncCacheApi.setAsyncCacheApi.set。您也可以创建计时器并在一段时间后致电AsyncCacheApi.removeAll(但不清楚 - 您可以删除刚刚添加的值(假设在 5 分钟前添加)吗?

      默认过期时间是无限的 - 它永远不会从缓存中删除!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多