Обновляет ли cache2k () время истечения

Я не могу найти ответ в API документации, поэтому я хотел бы спросить здесь:

Учитывая, что у меня есть кеш cache2k

import org.cache2k.Cache;
import org.cache2k.CacheBuilder;
import java.util.concurrent.TimeUnit;
....

Cache<String, Integer> cache =
  CacheBuilder.newCache(String.class, Integer.class)
    .expiryDuration(1, TimeUnit.MINUTES)

и положить предмет в нем

cache.put("item", 1)

Время истечения этого предмета составляет одну минуту. Через 30 секунд я обновляю этот элемент

cache.put("item", 0)

Время истечения этого предмета теперь примерно 30 секунд или снова одна минута?

Каждый полезный комментарий очень ценится. Возможно я пропустил ответ в документах или есть какой-то стандарт, о котором я не знаю...

С уважением

globalworming

1 ответ

Решение

Срок действия - это время между записью, хранящейся в кеше (например, через put или get() и считывание) до тех пор, пока запись не будет считаться истекшей. Записи с истекшим сроком действия больше не действительны и больше не возвращаются кешем. Удаление устаревшей записи из данных внутреннего кэша зависит от других конфигураций.

Некоторые кэши имеют значение между временем истечения после новой записи и обновления. В cache2k это идентично.

Таким образом, после второго put() срок действия сбрасывается, а срок действия записи истекает через одну минуту.

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