scala - Scala 中的轻量级缓存解决方案?

标签 scala guava

我只是想知道 Scala 中是否有任何可用的缓存解决方案。
我正在寻找类似于 Guava 在 Java 中提供的东西。

我应该在 Scala 中也使用 Guava 吗?
Scalaz 中是否有包装器/皮条客或类似的东西?
任何更适合 Scala 开发人员的替代方案?

Guava 提供什么:

LoadingCache<Key, Graph> CACHE= CacheBuilder.newBuilder()
       .maximumSize(1000)
       .expireAfterWrite(10, TimeUnit.MINUTES)
       .removalListener(MY_LISTENER)
       .build(
           new CacheLoader<Key, Graph>() {
             public Graph load(Key key) throws AnyException {
               return createExpensiveGraph(key);
             }
           });

Supplier<Animal> singleAnimalCache = Suppliers.memoizeWithExpiration(animalFromDbSupplier(), 365, TimeUnit.DAYS);

我需要一些基本的缓存管理,比如在 Guava 中。

最佳答案

Is there a wrapper / pimp in Scalaz or something similar?



在 Scalaz 7 中有 Memo ,我在 learning Scalaz day 16 中稍微介绍了一下.

这是 Adam Rosien 在 scalaz "For the Rest of Us" 中介绍的第一件事说话,所以也检查一下。他正在使用 Scalaz 6。

关于scala - Scala 中的轻量级缓存解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13636475/

相关文章:

scala - 通过spark从kafka到hdfs

java - 如何在 Guava 中制作一个 "real"不可变的日期对象列表

java - guava Table vs 多个 HashMap 的效率

java - 在 Java 中存储枚举的顺序

java - Scala 2.9 桥接方法

java - 为什么 scala.Serializable 不指定任何方法?

sql - Spark 将列值拆分为多行

scala - 理解 IO monad

java - 通过 Guice TypeListener 对 Guava EventBus 订阅者进行热切实例化

java - 在 Java 中使用 LRU 逐出策略缓存一组字符串