性能
经过测试:Nginx层直接读取memcahce
比转发php-fpm再读取memcache
的速度快8倍以上
ngx_http_memcached_module
在许多场景中单一数据接口一般都由nginx转发至应用层 例如:php-fpm、django等相关后端处理,有时候为了一个接口 要部署整套架构 着实麻烦
nginx 的 memcached_module
模块 可以直接读取 memcache
缓存服务器中的数据后直接响应请求,如果没有缓存的key则可以通过 404 定向到指定的后端处理文件中
server {
location / {
#www.elephdev.com/cache_123.html 会把 /cache_123.html 当作 key 去判断memcached中有没有缓存
set $memcached_key "$uri";
memcached_pass 127.0.0.1:11211;
#捕捉错误码信息,就回调给@fallback处理
error_page 404 502 504 = @fallback;
}
location @fallback {
#也可以转发给其他服务 proxy_pass http://backend;
root /www/elephdev;
index /nginx_cache_callback.php;
}
}
发表评论 取消回复