srcache_max_expire
Директива `srcache_max_expire` задаёт максимальное время, в течение которого кэшированный элемент может оставаться действительным в системе кэширования NGINX на основе субзапросов.
Описание
Директива srcache_max_expire используется в конфигурации NGINX для управления верхним пределом времени истечения кэша для элементов, хранящихся в прозрачном механизме кэширования на основе субзапросов, предоставляемом модулем ngx_srcache. Эта директива особенно полезна в сценариях, когда кэширование ответов на стороне сервера требуется тонко настраивать в зависимости от определённых условий.
Когда кэшированный элемент сохраняется, его время жизни часто можно задавать динамически с помощью переменных или оно может подчиняться правилам кэширования, заданным другими директивами, такими как srcache_store. Директива srcache_max_expire задаёт окончательную верхнюю границу для этого времени истечения, гарантируя, что элементы не будут храниться в кэше бесконечно долго сверх времени, указанного этой директивой. Это помогает оптимизировать поведение кэша, предотвращая долговременную выдачу устаревших данных клиентам и тем самым поддерживая актуальность данных.
Параметр этой директивы представляет собой временное значение, которое можно задавать в различных форматах, таких как секунды, минуты или часы (например, 30s, 5m, 1h). Точное сочетание и тип временных значений могут иметь решающее значение, особенно при работе с системами высокой доступности, где устаревание кэша может повлиять на производительность приложения. Определяя эту директиву на уровне server или location, можно реализовать стратегии кэширования, специфичные для контекста, на разных конечных точках.
Пример конфига
location /cache {
srcache_fetch my_cache;
srcache_store my_cache;
srcache_max_expire 10m;
}Убедитесь, что указанное значение не задано как отрицательная длительность, так как это может привести к непредсказуемому поведению кэширования.
Если значение установлено слишком большим без надлежащих стратегий инвалидирования кэша, это может привести к тому, что клиентам будет возвращаться устаревший контент.