Терракотовый 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, поэтому побочным эффектом изменения этого значения является изменение интервала ожидания потока вытеснения".
Я предполагаю, что разные версии терракоты будут похожи; Я верю, что будет фоновый поток, выполняющий очистку.
Если это правильно, то, по-видимому, подразумевается, что запрос не является необходимым для инициирования выселения, что несколько противоречит документации, которую вы цитируете.