java - 如何使用 Caffeine 缓存管理器测试内存缓存? (即在缓存、缓存驱逐后获取缓存中的条目数)

标签 java spring-boot caching java-8 caffeine

我想在缓存数据或逐出数据后获取自定义缓存中条目的详细信息。

我尝试使用执行器依赖项来获取“执行器/指标”路径以获取详细信息,但我得到了空的 tomcat 服务器缓存。没有任何迹象表明我的自定义缓存为 myCache(我传递到 @Cacheable 注释值参数的名称)。

最佳答案

您用 Caffeine 和 Spring Boot 标记了您的问题,所以我假设您使用这两种产品。

如果您使用最新的 Spring Boot 和 Caffeine,则actuator/caches 中将自动提供统计信息。如果没有,请仔细检查您的类路径上是否有所需的库,并且没有启用另一个缓存或根本禁用缓存的配置,例如 spring.cache.type=none

如果你不使用Spring Boot,而只使用Spring,则需要在配置中添加CacheManager,否则Spring默认使用ConcurrentHashMap,它没有缓存统计信息。

关于java - 如何使用 Caffeine 缓存管理器测试内存缓存? (即在缓存、缓存驱逐后获取缓存中的条目数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57689245/

相关文章:

java - java 8 供应商是否正在替换构造函数调用

java - 在scala中添加案例类的字段

gradle - 一个Gradle Thymeleaf项目根据资源变更重新加载,另一个重新启动

php - CakePHP 提供与用户代理有关的缓存 Controller 操作

android - 禁用okhttp的缓存

java - 使用 Java 的 Web 服务计算器示例

java - System.out.println 是否违反得墨忒耳定律?

spring boot @Cachable 返回填充了空值的父类(super class)的所有字段

java - Spring Boot从AWS参数存储中读取参数

web - Blazor Chrome 缓存问题