我正在寻找一种缓存工具,该工具可以在预定义的间隔到期时删除旧条目(如Guava缓存),但在内部使用NavigableMap接口。
有那样的东西吗?
最佳答案
我不相信有这样的东西,但是您可以直接将ConcurrentSkipListMap<K,V>
用作缓存(例如,请参见NavigableMap & time-based caches),也可以通过加载/放入两个缓存使NavigableMap<K,V>
与Guava缓存保持同步和可导航映射,并在从缓存中删除条目时使用RemovalListener<K,V>
从可导航映射中删除条目(请参见Removal Listeners)。