ПРОЕКТЫ 


  АРХИВ 


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]

Условное кешированеи memcached


  • To: nginx-ru@xxxxxxxxx
  • Subject: Условное кешированеи memcached
  • From: Alex Ivanov <jungo495@xxxxxxxxx>
  • Date: Thu, 27 Aug 2009 15:01:25 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=qcZ9akGjmNqSAqNNx1zFAFeiMCx1hEQPydUzsGaE+N8=; b=sH5OnKHr5jU9p4ZhJXWD27eq7XUuWKxQ/JPIpgxKxQwMJb2gTSsiOuYGCVrzB86ls9 q20P+7LM86wDmz9VRFOP+emchHrKp5T8LGl6i8e3x95ns9dTdRr+3x8niOQR4fBrBnEr zvwE+MQKaSa0DyTvTYA4H1hfiWeH4Lq6FOonw=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=n8qM97YvXxP01v4a0GR3e7N7fHmcnYme7j7/4M4DVOm7KttyUCX6LKX1iDplPN5lY8 qQs6mfvGjqkrhCqUGgmpzdaj8dazFaPc3GrxsgrYV4u0WK5fOdQJV6kjYFRzJvH4TOCX H3LgO5FKdw1DFVMkHqUpNppokTkWwgXM28DfE=

Добрый день
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;
...
}
Спасибо за помощь.



 




Copyright © Lexa Software, 1996-2009.