刷新咖啡因/咖啡因中的所有条目

时间:2016-10-24 13:40:59

标签: java scala caching caffeine

我正在使用Scala版本的CaffeineScaffeine。 我试图填充缓存,它应该在到期后重新加载所有值(测试中10秒)。我可能会使用Guava' Suppliers.memoizeWithExpiration但我想利用后台异步加载数据的优势。 我有以下代码段:

val dummy = List()
val myCache: AsyncLoadingCache[String, String] =
  Scaffeine()
    .refreshAfterWrite(10.second)  //test
    .buildAsyncFuture(
      loader = userId => client.getByUserId(userId),
      allLoader = Some(dummy => client.getAllUsers),
      reloadLoader = None)

我认为allLoader就是出于此目的,但在缓存构建期间只调用一次,并且只填充了在&#中枚举密钥的那些值。 34;虚设"名单。

有一个similar帖子建议实施CacheLoader#loadAll,但任何提示都很棒,如何实现这一点 可能在Scala与Scaffeine?

0 个答案:

没有答案