Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Управление кешом - фичареквест
поигрался немного с кешами.
интересно, включаем кеш для location'а на скажем 0-30 минут и далее
бакенд определяет что данную страницу надо закешировать на скажем 20
секунд выдавая заголовок X-Accel-Expires: 20.
это классная фича!
но вот если посмотреть на любой сайт с кешированием, то можно увидеть
что какую-то информацию мы можем выдать в кеш, но при этом кеш валиден
будет *до определенного действия пользователя*.
например (утопический пример) мы на сайте кешируем список
пользователей написавших больше всего сообщений (ТОП по
пользователям).
понятное дело, такой ТОП меняется редко и можно смело ему выдать
скажем 10 минут время жизни кеша и все будет хорошо.
но допустим у нас задача есть чтобы этот ТОП выводился более
качественно. становится ТОП'ом другой пользователь (входит в ТОП10) и
сразу картинка перестраивается (без лага в 0-10 минут).
для такой задачи просто определение времени жизни кеширования из
бакенда не подойдет. еще нужно иметь возможность сказать что кеш
невалиден nginx'у.
и вот тут фичареквест добавить опцию (насколько я понимаю не должно
быть сложным):
у нас есть один хидер на управление кешом:
X-Accel-Expires: [ секунд | @секунд ]
- определяет сколько времени данная страница может находиться в кеше
а можно сюда добавить еще хидер, например:
X-Cache-Invalid: "/users/top/123?all=yes"
- определяет что с данного момента определенный набор страниц
находящихся в кеше (набор = если несколько таких заголовков выдали)
невалиден.
Тогда если бакенд выдал такой заголовок (или несколько таких
заголовков), чтобы nginx по факту выдачи такого ответа сбросил кеши,
связанные с данными урлами?
--
. ''`. 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
|