我在 CaffeineCache 中使用 LoadingCache。我将 refreshAfterWrite 设置为 30 分钟,并通过 Caffeine.stats() 检查了统计数据。我预计 loadSuccessCount 值将在 30 分钟后增加,但与 30 分钟前相同。
下面是代码:
codeListCache = Caffeine.newBuilder()
.refreshAfterWrite(30, TimeUnit.MINUTES)
.recordStats()
.build(codeFilterNo -> loadCodeList(codeFilterNo));
codeListCache.getAll(codeFilterNoList);
下面是我试图检查的日志。
2020-04-13 00:13:42 [scheduling-1] INFO cnapsservice.OlapTableService - CodeListCache Stats : CacheStats{ hitCount=0, missCount=30, loadSuccessCount=30 , loadFailureCount=0, totalLoadTime=2139529433, evictionCount=0, evictionWeight =0}
2020-04-13 01:08:42 [scheduling-1] INFO cnapsservice.OlapTableService - CodeListCache Stats:CacheStats{ hitCount=102,missCount=30,loadSuccessCount=30,loadFailureCount=0,totalLoadTime=2139529433,evictionCount=0,evictionWeight =0}
我可以看到 hitCount 正在增长,但我不确定缓存是否重新加载成功,因为 loadSuccessCount 没有改变。我认为这refreshAfterWrite
将在最后一次写入后 30 分钟更新每个键的值,这会增加“loadSuccessCount”。
所以我的问题是,
谁能告诉我这是正常的还是错误的?
如何检查缓存刷新是否正常?