Ben*_*ith 10 collections functional-programming scala
我正在寻找缓存地图中的信息,所以我不必保持,例如,击中数据库.在Java中我会使用Google集合的优秀MapMaker并设置一个到期时间,以保持缓存尽可能新鲜,以及softValues,以减少内存使用量.然后我有一个函数来计算当前未缓存的键的值.
MapMaker().softValues
.expireAfterWrite(10, TimeUnit.MINUTES)
.makeComputingMap(Function(...));
Run Code Online (Sandbox Code Playgroud)
在Scala中执行此操作的最佳方法是什么?
正如金说的那样,为什么效果不同MapMaker呢?
import collection.JavaConverters._
val cache = /* your MapMaker code creating a Java map */.asScala
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用Scala映射中的方法访问底层Java映射.