【发布时间】:2019-10-29 22:40:09
【问题描述】:
我基本上需要一个地图,其中条目将在特定的已知时间段后过期,然后被删除。
它在我的应用程序中的使用方式并不是真正的缓存,但似乎 Guava 缓存可以达到目的。这会是正确的选择吗?一件事是我需要查询地图是否为空,并且我看到 Guava 只有一个 size 函数,其文档说这只是一个近似值。
【问题讨论】:
-
缓存为空为什么要查询?
-
它基本上是用作地图的。我有一个
Map<String, Cache<String, String>>,一旦特定的Cache值变为空,我想将它从Map中删除。 -
之所以是近似值是因为多个线程可以同时修改缓存。您能否详细说明为什么要从地图中删除空缓存?是为了表演吗?它真的会为您节省很多吗?
-
@LouisWasserman 我需要从地图中清除空缓存的原因是关于应用程序的正确性。