Java 映射未访问的自动过期元素

Java 映射未访问的自动过期元素,java,Java,是否有java.util.Map的实现,当在指定的时间段内未被访问时,该实现会自动终止其条目。我发现许多库会自动使条目过期,但有一定的时间限制。但我有额外的条件。只有在该时间段内未访问条目时才应删除该条目。如果您希望在指定的时间段后收回某些内容,我建议使用Guavas缓存 如果在指定的时间内没有查询条目,它将自动被逐出。如果您希望在指定的时间后逐出某些内容,我建议使用Guavas缓存 如果在指定的时间内没有查询条目,它将自动退出。您可以使用 它有两种选择: expireAfterWrite:在将

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

如果您希望在指定的时间段后收回某些内容,我建议使用Guavas缓存


如果在指定的时间内没有查询条目,它将自动被逐出。

如果您希望在指定的时间后逐出某些内容,我建议使用Guavas缓存

如果在指定的时间内没有查询条目,它将自动退出。

您可以使用

它有两种选择:

  • expireAfterWrite:在将条目添加到缓存后的一段时间后使条目过期;或最新的价值替换
  • expireAfterAccess:在缓存中上次访问条目后的一段时间后使该条目过期
  • 您需要的是2号。您可以使用

    它有两种选择:

  • expireAfterWrite:在将条目添加到缓存后的一段时间后使条目过期;或最新的价值替换
  • expireAfterAccess:在缓存中上次访问条目后的一段时间后使该条目过期

  • 您需要的是第二个。

    Apache有一个AbstractMapDecorator,您可以使用它来简化被动版本的实现。已经有了,如果对象还没有过期,您可以扩展它来重置访问的过期时间。除了基本的过期映射之外,您可能已经看到了这一点。编辑:看起来下面的答案要好得多。Apache有一个AbstractMapDecorator,您可以使用它来简化被动版本的实现。已经有了,如果对象还没有过期,您可以扩展它来重置访问的过期时间。除了基本的过期映射之外,您可能已经看到了这一点。编辑:看起来下面的答案要好得多。