猿问

Kotlin Guava Cache 未显示正确的 hitCount

我正在尝试使用 LRU 缓存,如此处所示Java time-based map/cache with expiring keys


我的代码:


import com.google.common.cache.CacheBuilder

import java.util.concurrent.TimeUnit


fun 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。


我在这里想念什么?


ITMISS
浏览 148回答 1
1回答

精慕HU

你错过了.recordStats()电话CacheBuilder:CacheStats启用缓存操作期间的累积。如果没有这个Cache.stats(),所有统计信息都将返回零。
随时随地看视频慕课网APP

相关分类

Java
我要回答