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