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

标签 java caching caffeine

我目前正在从 ConcurrentLinkedHashMap 迁移至 Caffeine我一直在尝试寻找 setCapacity 的等效功能

  _myCache.setCapacity(newCacheSize);

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

我应该将当前缓存复制到新创建的具有新大小的缓存中吗?这似乎不是很有效,但目前我没有看到其他方法可以做到这一点

最佳答案

这些旋钮隐藏在cache.policy()下因为它们特定于缓存的创建方式。这样就可以提供很多杂乱的方法,而不会使核心api变得复杂。

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

关于java - 动态调整咖啡因缓存的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58436317/

相关文章:

Java检测一个字符串是否是有效的JS脚本

java - 如何使用 Unity3D 将变量从 AndroidJavaObject 获取到 C# 类中

java - 当模块设置为手动缩放时,Appengine 开发服务器上的 Guice 过滤器返回 404

caching - 将环境状态显式附加到 SCons Builder 依赖项 MD5 指纹

java - 动态切换咖啡因缓存上的记录统计数据

java - 如何将咖啡因与 Spring 3.1 集成?

java - Netbeans 无法在不同操作系统上创建的项目中编译 JSP

c# - 我是否应该为添加到 System.Runtime.Caching.ObjectCache 的每个项目创建一个新的 CacheItemPolicy?

firefox - Firefox 中的选择性缓存

java - Caffeine Cache.asMap View 的行为