Re: Управление кешом - фичареквест
Dmitry E. Oboukhov
unera at uvw.ru
Fri Jul 26 16:58:22 UTC 2013
>> X-Cache-Invalid: "/users/top/123?all=yes"
>>
>> - определяет что с данного момента определенный набор страниц
>> находящихся в кеше (набор = если несколько таких заголовков выдали)
>> невалиден.
>>
>> Тогда если бакенд выдал такой заголовок (или несколько таких
>> заголовков), чтобы nginx по факту выдачи такого ответа сбросил кеши,
>> связанные с данными урлами?
> Помнится мне, когда-то давно Игорь писал в рассылку, что планирует
> нечто подобное сделать. А сейчас даже есть draft RFC на
> аналогичную тему, тут:
> http://tools.ietf.org/html/draft-nottingham-linked-cache-inv-04
да похоже. только я не понял имеется ли ввиду инвалидация только тех
урлов, что выданы в директиве Link либо всех включая Location, хотя
это не сильно важно.
важно что с подобной фичей можно было бы строить приложения, которые
бы сильно могли разгружать бакенд.
кстати почитав RFC можно дополнить:
хорошо бы не просто выпиливать конкретные страницы из кеша, а еще и
выпиливать их по маске
типа Invalid: /users/list/[1-9][0-9]*/abc
но это будет конфликтовать конечно с тем что в качестве ключа в БД
используется md5 от урла а не урл
> Я, правда, сомневаюсь, что draft взлетит, но вообще
> функциональность, как мне кажется, интересная.
> С точки зрения реализации в nginx'е есть, правда, один нюанс:
> ключ кеширования может задаваться произвольно, и не так просто
> вычислить, что именно нужно убрать из кеша.
если юзер оперировать будет урлами (всегда) а ключ кеширования будет
вычисляться на nginx то все кроме масок может быть реализовано.
но в принципе кешируются именно те страницы которые относятся сразу к
многим пользователям, поэтому маски сильно не нужны.
а вот инвалидация кеша по произвольному ответу бакенда уже позволила
бы много чего интересного делать
народ, кто взялся бы такой плагин написать?
я бы мог инвестировать в него, скажем 500$ из своих скромных личных
средств :)
или лучше патч, чтобы его в апстрим положить :)
--
. ''`. 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/e269b9e0/attachment.bin>
Подробная информация о списке рассылки nginx-ru