谷歌番石榴缓存,刷新过期超时

时间:2014-10-24 15:22:11

标签: java caching collections guava

我有以下内容,它为所有新条目设置默认过期超时。

Cache<String, Tracker> cache = CacheBuilder.newBuilder().
expireAfterAccess( expire , TimeUnit.MINUTES ).build();

如何在填充过期后刷新过期访问权限?

当然,一种解决方案可能是删除该项并重新插入,但这可能比其他方式已经可能的昂贵

1 个答案:

答案 0 :(得分:3)

您应该使用cache.getIfPresent(key)访问要刷新的元素。根据{{​​3}}(强调我的):

  

Guava wiki page仅在指定的持续时间过去后才会使条目到期,因为该条目是上次由读取或写入访问的。请注意,条目被驱逐的顺序与基于大小的驱逐的顺序类似。

所以它应该完全符合你想要的目标。