использование memcached

Denis Shaposhnikov dsh at wizard.volgograd.ru
Wed Jul 16 15:52:59 MSD 2008


Hello,

Есть у меня вот такая конфигурация:

	location /getfile/ {
	    if ($uri ~ "^/getfile/([^/]+)/(.+)") {
	        set $memcached_key "$1:filestorage:/$2";
	    }
	    memcached_pass memcached;
	    expires 15m; 
	    error_page 404 502 504 = @getfile;
	}

	location @getfile {
	    rewrite ^/getfile/([^/]+)/(.+)
                     /$1/index.cgi?rm=getfile&fname=/$2? break;
	    proxy_pass http://127.0.0.1:8080;
	    expires 15m; 
	}

Которая при обращение к "/getfile/XXX/YYY" запрашивает в memcached, а
если там нет, то проксирует запрос к скрипту, который положит потом
объект в memcached. Это работает. Смущает меня только использование
"if". Подскажите пожалуйста, это единственный способ вычислить ключ для
memcached, используя части URI?

Спасибо!

-- 
DSS5-RIPE DSS-RIPN mailto:dsh at wizard.volgograd.ru xmpp:dsh at vlink.ru
http://wizard.volgograd.ru/ 2:550/5068 at fidonet 2:550/5069 at fidonet





More information about the nginx-ru mailing list