ПРОЕКТЫ 


  АРХИВ 


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]

Re: purge



Игорь,

> В общем, там не особо понятно. Особенно, как именно делается инвалидация.
> Да и многословно как-то - rel="invalidates", rel="invalidated-by":
> напоминает WebDAV. 
> Я пару лет назад планировал ленивую инвалидацию большого объёма ответов
> таким образом: в ответ добавляются заголовки с ключами в виде md5-хэшей:

> X-Accel-Depends: XXXXX...md5...XXXXXX  YYYYY...md5...YYYYYY ...
> X-Accel-Invalidate: XXXXX...md5...XXXXXX  YYYYY...md5...YYYYYY ...

Я считаю что это очень хорошая и работоспособная схема что вы предлагаете и тут 
и в первом письме с реджексами. Разве что не хватает того самого "Depends" 
описывающего 

Я не считаю link rel= чем то лучшим. Просто если они сделают RFC то неплохо 
было бы иметь в планах добавить их решения в поддерживаемые аттрибуты 
инвалидации. 

В любом случае, любая инвалидация на фронтэнде лучше чем на бэкэнде... Я был бы 
рад любому решению которое дало бы мне возможность давать кешу большие сроки 
хранения и вычищать по необходимости а не по таймеру.

Вопрос ещё.... Как вы думаете правильно ли при отправке POST PUT DELETE на 
конкретный URL инвалидировать его копию (полученную по GET) в кеше? На мой 
взгляд это совершенно не нужное, но люди с REST API или прочими "стандартными" 
подходами будут этого ожидать (как собственно и link rel=" на какой то стадии 
"стандартизирования").


Ещё раз перечитал вашу ленивую инвалидацию и подумал что возможно парсер 
заголовков и прочие подходы к инвалидации будут медленнее чем что-то описанное 
раз и навсегда в конфиге... (не возьмусь за верность синтакса просто мысли)

location /admin/ {
    proxy_cache_purge accel-invalidate; # чтоб читал X-Accel-Invalidate или 
link-invalidates чтоб rel...
}

location /[0-9]+/ {
    if ($arg_action = "send_comment") {
        proxy_cache_purge /path/$some_folder_via_map/comments.xml
    }
    proxy_cache_purge_depends /path/$some_folder_via_map/comments.xml; # или 
например название заголовка X-Accel-Depends
}


Может и что-такое для скорости придумать? Запутано конечно выглядит.... 
Перемудрил? 

Но мой вопрос в одном  - можно ли сделать быструю инвалидацию фронтэндом так 
или парсинг заголовков в любом случае произведён и нет ничего сложного чтоб их 
и использовать?




Саша.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.