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