我希望在 Map 中缓存信息,这样我就不必保留,例如,点击数据库。在 Java 中,我会使用 Google 集合的优秀 MapMaker并设置一个到期时间,以根据需要保持缓存尽可能新鲜,并设置 softValues,以保持内存使用量下降。然后我有一个函数来计算当前未缓存的键的值。
MapMaker().softValues
.expireAfterWrite(10, TimeUnit.MINUTES)
.makeComputingMap(Function(...));
在 Scala 中执行此操作的最佳方法是什么?
最佳答案
正如 Kim 所说,如果 MapMaker
,为什么要这样做?对你有用吗?
import collection.JavaConverters._
val cache = /* your MapMaker code creating a Java map */.asScala
现在您可以使用 Scala 映射中的方法访问底层 Java 映射。
关于scala - 具有过期和软值的基于 map 的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6845543/