动态调整咖啡因缓存的大小

时间:2019-10-17 15:42:55

标签: java caching caffeine

我目前正在从ConcurrentLinkedHashMap迁移到Caffeine,而我一直在努力寻找setCapacity的等效功能

  _myCache.setCapacity(newCacheSize);

有没有办法在咖啡因中做同样的事情?

我应该将当前的缓存复制到新的具有新大小的缓存中吗?似乎效率不高,但目前我看不到另一种方式

1 个答案:

答案 0 :(得分:1)

这些旋钮位于cache.policy()下,因为它们专门用于创建缓存。这样,可以提供许多凌乱的方法,而不会使核心api复杂化。

cache.policy().eviction().ifPresent(eviction -> {
  eviction.setMaximum(newCacheSize);
});