Java Kotlin Guava缓存未显示正确的命中率

Java Kotlin Guava缓存未显示正确的命中率,java,caching,kotlin,guava,Java,Caching,Kotlin,Guava,我正在尝试使用LRU缓存,如图所示 我的代码: 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) .b

我正在尝试使用LRU缓存,如图所示

我的代码:

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)

}
我希望
hitCount
为1,而不是0

我错过了什么

您缺少对
CacheBuilder
的调用:

在缓存操作期间,启用
CacheStats
的累积。没有这个
Cache.stats()
将为所有统计返回零

您缺少对
CacheBuilder
的调用:

在缓存操作期间,启用
CacheStats
的累积。没有这个
Cache.stats()
将为所有统计返回零

CacheStats{hitCount=0, missCount=0, loadSuccessCount=0, loadExceptionCount=0, totalLoadTime=0, evictionCount=0}
blah