Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Управление кешом - фичареквест
>> 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@xxxxxxxxxx jabber://UNera@xxxxxx
`. `~? GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment:
signature.asc
Description: Digital signature
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|