ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Управление кешом - фичареквест


  • To: nginx-ru@xxxxxxxxx
  • Subject: Управление кешом - фичареквест
  • From: "Dmitry E. Oboukhov" <unera@xxxxxx>
  • Date: Fri, 26 Jul 2013 11:53:33 +0400

поигрался немного с кешами.

интересно, включаем кеш для 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


 




Copyright © Lexa Software, 1996-2009.