映射自动使未访问的元素到期

时间:2016-09-18 13:26:22

标签: java

是否存在java.util.Map的实现,当在指定的时间内未访问时,它会自动使其条目到期。我发现许多库会自动过期,但有一些时间限制。但我有额外的条件。只有在持续时间内未访问条目时才应删除条目。

2 个答案:

答案 0 :(得分:3)

您可以使用Guava's cache

它有两个选项:

  1. expireAfterWrite :自条目添加到缓存后的一段时间后过期;或最近的价值替换
  2. expireAfterAccess :自上次在缓存中访问该条目后的一段时间后过期。
  3. 你想要的是2号。

答案 1 :(得分:2)

如果您想要在指定时间后被驱逐的东西,我会建议Guavas Cache https://github.com/google/guava/wiki/CachesExplained#timed-eviction

如果在指定的时间内没有查询该条目,则会自动逐出。