proxy_no_cache / proxy_cache_bypass

Igor Sysoev igor на sysoev.ru
Пт Июл 9 17:59:43 MSD 2010


On Fri, Jul 09, 2010 at 02:17:22PM +0400, Sergey Shepelev wrote:

> >>>> Логично, тогда можно раздедить так: proxy_cache_bypass определяет,
> >>>> брать ли ответ из кэша, а proxy_no_cache - класть ли ответ в кэш,
> >>>> если он был в состоянии bypass.
> >>>
> >>>   Выглядит замечательно, четко и просто в понимании.
> >>>   Вопросы могут возникнуть только в обратной совместимости конфигов.
> >>
> >> Такой вариант:
> >>
> >> proxy_no_cache убираем совсем.
> >> proxy_cache_bypass или proxy_bypass_cache (не знаю, что лучше
> >> по-английски)
> >> определяет, брать ли ответ из кэша.
> >> proxy_no_cache_bypass определяет класть ли ответ в кэш,
> >> если он был в состоянии bypass. Название говорящее.
> >
> > а вы не хотите такую же схему применить и к fastcgi_cache_* ?
> > отдельно условие кладём ли в кэш
> > и отдельно берём ли из кэша.
> >
> 
> По-моему, было бы лучше вместо 4 {proxy,fastcgi,uwsgi,чтотамещё}_cache
> сделать один набор директив cache.
> 
> location / {
>   proxy_pass http://backend;
>   proxy_set_header Host $host;
>   cache_path ...;
>   cache zone;
> }
> 
> location /other {
>   fastcgi_pass backend2;
>   cache_path ...;
>   cache zone;
> }
> 
> Хотя, это, наверное, расходится с текущим дизайном модулей.

Там есть расхождения - например, для proxy ключ явно задавать не нужно,
а для прочих нужен. Ну и ещё есть отличия.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru