Spec-Zone .ru
спецификации, руководства, описания, API

15.6.2.3. Истечение данных

Есть два типа истечения данных в пределах memcached экземпляра. Первый тип применяется в точке, когда Вы храните новую пару ключ/значение в memcached экземпляр. Если есть недостаточно пространства в пределах подходящей плиты, чтобы сохранить значение, то существующее последнее использованное (LRU) объект удаляется (выселенное) из кэша, чтобы создать место для нового элемента.

Алгоритм LRU гарантирует, что объект, который удаляется, является тем, который является или больше в активном использовании, или это использовалось так давно, что его данные являются потенциально устаревшими или небольшого значения. Однако, в системе, где память, выделенная memcached, меньше чем число регулярно используемых объектов, требуемых в кэше, много элементов с истекшим сроком могло быть удалено из кэша даже при том, что они в активном употреблении. Вы используете механизм статистики, чтобы получить лучшее представление об уровне замещений (истек объекты). Для получения дополнительной информации см. Раздел 15.6.4, "Получение memcached Статистика".

Можно изменить это поведение замещения, устанавливая -M параметр командной строки, запускаясь memcached. Эта опция вынуждает ошибку быть возвращенной, когда память была исчерпана, вместо того, чтобы автоматически выселить более старые данные.

Второй тип системы истечения является явным механизмом, который можно установить, когда пара ключ/значение вставляется в кэш, или удаляя элемент из кэша. Используя время истечения срока может быть полезный способ гарантировать, что данные в кэше современны и в соответствии с Вашими потребностями приложения и требованиями.

Типичный сценарий для того, чтобы явно установить время истечения мог бы включать данные сеанса кэширования для пользователя, получая доступ к Веб-сайту. memcached использует ленивый механизм истечения, где явное время истечения, которое было установлено, по сравнению с текущим временем, когда объект требуют. Только объекты, которые не истекли, возвращаются.

Можно также установить время истечения, явно удаляя объект из кэша. В этом случае время истечения является действительно тайм-аутом и указывает на период, когда любые попытки установить значение для данного ключа отклоняются.