Re: Немного про логику кеша

Maxim Dounin mdounin на mdounin.ru
Вт Май 21 14:22:25 UTC 2019


Hello!

On Tue, May 21, 2019 at 04:31:46PM +0300, kpoxa wrote:

> Есть некоторые директивы, про которые не совсем понятно, как они работают
> вместе, в частности у proxy_cache_path есть параметр inactive, который
> задаёт время жизни файла в кеше, считая с последнего обращения. А еще есть
> директива proxy_cache_valid, судя по описанию которой, которая тоже
> отвечает за что-то подобное, обозванное временем кеширования.
> 
> И в связи с этим у меня вопрос:
> как мне настроить кеш так, чтобы 302 редиректы кешировались на 15 секунд?
> При настройках inactive=7d никакие варианты прописать proxy_cache_valid 302
> 15s не работают, в кеше куча вчерашних редиректов.
> И второй вопрос - при каких условиях и как работает proxy_cache_valid ?
> Пока что у меня не сходятся реальное поведение с документацией.

Директива proxy_cache_valid - определяет, сколько времени ответ в 
кэше будет считаться валидным, то есть пригодным для возврата 
клиенту.  Используется, если клиент не вернул явного указания 
через Cache-Control/Expires/X-Accel-Expires (или они 
проигнорированы в соответствии с proxy_ignore_headers).

Параметр inactive директивы proxy_cache_path - определяет, сколько 
времени ответ, возможно уже устаревший, будет хранится в кэше 
после последнего обращения.  Этот параметр - используется в первую 
очередь для управления размером кэша на диске.

Когда inactive больше valid - в кэше будут храниться устаревшие 
ответы.  Такие ответы в норме не возвращаются клиентам, но могут 
быть использованы, скажем, в случае ошибок, с помощью директивы 
proxy_cache_use_stale.

-- 
Maxim Dounin
http://mdounin.ru/


Подробная информация о списке рассылки nginx-ru