ПРОЕКТЫ 


  АРХИВ 


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: Условное кешированеи memcache d



А чем не понравилось штатное кеширование?

27 августа 2009 г. 15:01 пользователь Alex Ivanov (jungo495@xxxxxxxxx) написал:
> Добрый день
> Cделал готовую схему для условного кеширования в memcached.
> Все отлично работает но хотелось поправить ситуацию с ложным ключом, все
> таки не красиво просто так обращатся туда за ложными данными.
> Готовых решений не нашел. Все остальное в отрытом доступе не работоспособно
> в моем случае.
> set $backend 0;
> # именно при таком локейшене обеспечивается точное кеширование всего что
> есть
> location ~ \/ {
> default_type text/html;
> gzip_types application/octet-stream;
> index default.php index.php index.html index.htm;
> if ($http_cookie !~ "th_auth" ) {
> set $backend 1;
> }
>
> if ($request_method != GET) {
> set $backend 0;
> }
>
> if ($backend = 1) {
>   add_header Content-Type "text/html; charset=utf-8";
> set $memcached_key "$request_uri";
> memcached_pass 127.0.0.1:11211;
> error_page 404 405 502 504 = @fallback;
> break;
> }
> # ситуация такая что когда cookie есть он отрабатывает ее и не знает куда
> направить запрос - а надо на фоллбэк локейшн его направить, и с пост будет
> тоже самое происходить
> # для решения вводим ложный ключ и далее переход на фолбек тем у кого есть
> кука либо по еррору
> set $memcached_key "123";
> memcached_pass 127.0.0.1:11211;
> error_page 404 405 502 504 = @fallback;
> break;
> }
>
> location @fallback {
> fastcgi_pass unix:/tmp/php-fpm.socket;
> ...
> }
>
> location ~ \.php$ {
> fastcgi_pass unix:/tmp/php-fpm.socket;
> ...
> }
> Спасибо за помощь.
>
>



-- 
С уважением, Борис Долгов.
icq 77556665
e-mail boris@xxxxxxxxxxx


 




Copyright © Lexa Software, 1996-2009.