Кофеин Кеш не загружается из памяти

Мы используем кофеин в целях кэширования. Настройка кажется довольно простой. Настраиваем кеш следующим образом

LoadingCache<Triple<Long, Long, Long>, Result> cache = Caffeine.newBuilder()
            .maximumSize(1000)
            .refreshAfterWrite(240, TimeUnit.MINUTES)
            .build(new CacheDataLoader());

public class CacheDataLoader implements CacheLoader<Triple<Long, Long, Long>, Result>  {
    @Override
    public Result load(@Nonnull Triple<Long, Long, Long> id) throws Exception 
    {
      -------
    }

    @Override
    public Result reload(@Nonnull Triple<Long, Long, Long> id, @Nonnull Result oldValue) throws Exception {
       ---------
    }
}

Когда мы делаем cache.get(id)всегда вызывает load функция в CacheDataLoader который будет загружаться из базы данных. В результате данные никогда не извлекаются из памяти. На основании документации, load должен срабатывать только в том случае, если запрошенный ключ отсутствует в памяти. Это не правильно? Есть ли что-то не так с тем, как мы настраиваем кеш.

Любое понимание приветствуется.

Благодарю.

0 ответов

Другие вопросы по тегам