性能

经过测试:Nginx层直接读取memcahce比转发php-fpm再读取memcache的速度快8倍以上

ngx_http_memcached_module

在许多场景中单一数据接口一般都由nginx转发至应用层 例如:php-fpm、django等相关后端处理,有时候为了一个接口 要部署整套架构 着实麻烦

image.png

nginx 的 memcached_module 模块 可以直接读取 memcache缓存服务器中的数据后直接响应请求,如果没有缓存的key则可以通过 404 定向到指定的后端处理文件中

image.png

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;
    }
}
点赞(1)

评论列表 共有 0 评论

暂无评论

微信服务号

微信客服

淘宝店铺

support@elephdev.com

发表
评论
Go
顶部