Mirror from wiki.nginx.org
OTHER License
The nginx HTTP redis module for caching with redis, http://code.google.com/p/redis/.
The redis protocol (http://code.google.com/p/redis/wiki/ProtocolSpecification) not yet fully implemented, but GET and SELECT commands only.
You'll need to re-compile Nginx from source to include this module. Modify your compile of Nginx by adding the following directive (modified to suit your path of course):
./configure --add-module=/absolute/path/to/ngx_http_redis make make install
Example 1.
http { ... server { location / { set $redis_key "$uri?$args"; redis_pass 127.0.0.1:6379; error_page 404 502 504 = @fallback; }
location @fallback {
proxy_pass backed;
}
}
}
Example 2.
Capture User-Agent from an HTTP header, query to redis database for lookup appropriate backend.
Eval module (http://www.grid.net.ru/nginx/eval.en.html) required.
http { ... upstream redis { server 127.0.0.1:6379; }
server {
...
location / {
eval_escalate on;
eval $answer {
set $redis_key "$http_user_agent";
redis_pass redis;
}
proxy_pass $answer;
}
...
}
}
Maxim Dounin Vsevolod Stakhov Ezra Zygmuntowicz
Evan Miller for his "Guide To Nginx Module Development" and "Advanced Topics In Nginx Module Development" Valery Kholodkov for his "Nginx modules development"