Обновляет ли 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() срок действия сбрасывается, а срок действия записи истекает через одну минуту.