- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用caffeine来替换当前springboot中默认的ConcurrentHashMap缓存。我们使用 @Cacheable(cacheNames = { "..."})
注释动态创建缓存。
我正在尝试设置 recordStats
属性,因为我们正在使用 springboot 执行器包来监视应用程序的各个方面。
我尝试在application.properties
中设置spring.cache.caffeine.spec=expireAfterAccess=3600s,recordStats
,但不起作用。
在 @Configure
类中设置它也不起作用:
@Configuration
public class CacheConfig {
@Bean
public CacheManager cacheManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager();
cacheManager.setCacheSpecification("expireAfterAccess=3600s,recordStats");
return cacheManager;
}
}
缓存统计信息不会出现在 /actuator/cache/{caches}
端点或我们的 springboot-admin 服务器中。
根据当前的 api 文档,我发现:
The string syntax is a series of comma-separated keys or key-value pairs, each corresponding to a Caffeine builder method.
initialCapacity=[integer]: sets Caffeine.initialCapacity.
...
recordStats: sets Caffeine.recordStats().
Durations are represented by an integer, followed by one of "d", "h", "m", or "s", representing days, hours, minutes, or seconds respectively. There is currently no syntax to request expiration in milliseconds, microseconds, or nanoseconds.
Whitespace before and after commas and equal signs is ignored. Keys may not be repeated; it is also illegal to use the following pairs of keys in a single value:
maximumSize and maximumWeight
weakValues and softValues
相关点:
CaffeineSpec does not support configuring Caffeine methods with non-value parameters. These must be configured in code.
我的任务没有可能完成吗?
谢谢
最佳答案
您可以手动为缓存定义bean,例如
@Bean
public Cache recorded() {
return new CaffeineCache("recorded", Caffeine.newBuilder()
.recordStats()
.build());
}
Spring Boot 将拾取此 bean,您将能够在代码中使用 @Cacheable("recorded")
(注意匹配的缓存名称)。
此外,我的 Caffeine 和 Spring Boot 宠物项目也可能对您有用: https://github.com/stepio/coffee-boots
这个确切的 recordStats()
设置功能并未在那里进行测试,但错误报告和 PR 总是值得赞赏的。
PS:相关问题: Dynamically toggling recording stats on Caffeine Cache
干杯!
关于java - 咖啡因 Springboot 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59980554/
Caffeine 有 expiresAfterWrite 方法,可以查看上次写入时间。我希望它只查看创建时间。因此,当第一个条目到来时,条目将在固定的时间后过期,而无需查看该条目的更新次数。这可能吗?
我有一个计算密集型的一次性离线处理任务,需要几个小时才能运行,我正在使用 Caffeine作为我的内存缓存。设置最大缓存大小的好的启发式方法是什么?我正在使用 8GB 的 RAM 运行我的 Jav
我想配置Caffeine缓存以在加载程序无法刷新缓存时返回陈旧的结果。以下Kotlin代码演示了这种情况: @Test fun `completeble future`() = run
我们使用caffeine来替换当前springboot中默认的ConcurrentHashMap缓存。我们使用 @Cacheable(cacheNames = { "..."}) 注释动态创建缓存。
我无法运行 caffeinate 命令 caffeinate The program 'caffeinate' is currently not installed. You can install
从 Java 8 开始,我们可以在 ConcurrentHashMap 上使用 .compute* 方法来按 key 同步处理,这样如果两个线程同时对同一个 key 执行 .compute* 方法,回
我是一名优秀的程序员,十分优秀!