Kotlin Guava Cache не показывает правильный hitCount - PullRequest
0 голосов
/ 17 февраля 2019

Я пытаюсь использовать кэш LRU, как показано здесь Карта / кэш на основе времени Java с устаревшими ключами

Мой код:

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.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 17 февраля 2019

Вам не хватает .recordStats() вызов на CacheBuilder:

Включите накопление CacheStats во время работы кэша.Без этого Cache.stats() вернет ноль для всей статистики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...