Терракотовый timeToIdleSeconds verse timeToLiveSeconds

Все,

Вот мое понимание двух элементов, которое я хотел уточнить.

timeToIdleSeconds = Объект будет удален, если он простаивает более X секунд.

Из документации

Если клиент обращается к элементу в myCache, который простаивал более часа (timeToIdleSeconds), он выселяет этот элемент. Элемент также выселяется из терракотового массива серверов.

Если объект в кеше не будет запрошен снова, будет ли он когда-либо выселен? Будут ли ограничения размера кэша единственным способом очистить этот кешированный объект, который больше не запрашивается?

timeToLiveSeconds = Объект будет удален, если он был кэширован более чем на X секунд. Это работает так же, как timeToIdleSeconds? Только выселены, когда запросили снова? Или это будет очищено фоновым процессом?

Спасибо

1 ответ

На ваш последний вопрос: "Или это будет очищено с помощью фонового процесса?"

http://terracotta.org/apidocs/terracotta-toolkit/3.2.0/org/terracotta/cache/CacheConfig.html

как в setMaxTTISeconds, так и в setMaxTTLSeconds имеет:

"Интервал ожидания потока вытеснения фона основан на этом значении и максимальном TTL, поэтому побочным эффектом изменения этого значения является изменение интервала ожидания потока вытеснения".

Я предполагаю, что разные версии терракоты будут похожи; Я верю, что будет фоновый поток, выполняющий очистку.

Если это правильно, то, по-видимому, подразумевается, что запрос не является необходимым для инициирования выселения, что несколько противоречит документации, которую вы цитируете.

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