我正在嘗試使用 LRU 緩存,如此處所示Java time-based map/cache with expiring keys我的代碼:import com.google.common.cache.CacheBuilderimport java.util.concurrent.TimeUnitfun main(args: Array<String>) {val cache = CacheBuilder.newBuilder().maximumSize(100). expireAfterAccess(10, TimeUnit.HOURS) .build<String, String>() cache.put("a", "blah") val x = cache.getIfPresent("a") cache.stats().also { println(it) } println(x)}輸出:CacheStats{hitCount=0, missCount=0, loadSuccessCount=0, loadExceptionCount=0, totalLoadTime=0, evictionCount=0}blah我期待hitCount的是 1,而不是 0。我在這里想念什么?
1 回答

精慕HU
TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊
你錯(cuò)過了.recordStats()
電話CacheBuilder
:
CacheStats
啟用緩存操作期間的累積。如果沒有這個(gè)Cache.stats()
,所有統(tǒng)計(jì)信息都將返回零。
添加回答
舉報(bào)
0/150
提交
取消