Re: Управление кешом - фичареквест

Dmitry E. Oboukhov unera at uvw.ru
Fri Jul 26 13:07:34 UTC 2013


>> а можно сюда добавить еще хидер, например:
>> 
>> X-Cache-Invalid: "/users/top/123?all=yes"
>> 
>> - определяет что с данного момента определенный набор страниц
>>   находящихся в кеше (набор = если несколько таких заголовков выдали)
>>   невалиден.
>> 
>> Тогда если бакенд выдал такой заголовок (или несколько таких
>> заголовков), чтобы nginx по факту выдачи такого ответа сбросил кеши,
>> связанные с данными урлами?

> удалить элемент из кеша можно директивой
> http://nginx.org/r/proxy_cache_bypass/ru по ключу (т.е. новый элемент
> возмётся не из кеша, но закешируется)

нет это совсем не то что в фичареквесте.

вот имеется nginx.

делаем GET/POST запрос по роуту /route1/path.
в location прописано что кеширование по данному роуту до 30 минут.

бакенд выдает X-Accel-Expires: 120

в ответ nginx создает кеш-запись о /route1/path, затем все последующие
аналогичные запросы к /route1/path приведут к тому что nginx отвечать
будет из кеша в течение 2 минут.

теперь через 40 секунд производится другой запрос

GET/POST итп /route_other/path_other/. этот запрос транслируется может
быть даже другому бакенду.
и вот в обработчике этого запроса производятся какие-то изменения в
БД, которые приведут в частности к тому что по предыдущему роуту
/route1/path бакенд начнет выдавать совсем другие данные.

то есть с момента запроса роута /route_other/path_other/ кеш для роута
/route1/path должен быть сброшен и обработчик /route_other/path_other/
это знает.

я хочу получить механизм внутри обработчика сбросить кеш на другом
роуте.
как вариант - выдать хидер с урлом кеш на котором надо сбросить.

а директивы в конфиге = это не программа это набор условий :)


-- 

. ''`.                               Dmitry E. Oboukhov
: :’  :   email: unera at debian.org jabber://UNera@uvw.ru
`. `~’              GPGKey: 1024D / F8E26537 2006-11-21
  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20130726/24a3145f/attachment.bin>


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