Nginx讀取Memcached實現頁面內容緩存

jopen 11年前發布 | 48K 次閱讀 Nginx Web服務器 memcached

應用場景:將頁面的html代碼內容緩存到Memcached中,通過Nginx直接連接并讀取Memcached中的內容,來實現頁面緩存

一、優勢:

1,不再通過tomcat轉發一次,速度更快(理論上應該會比以前的靜態頁面技術更快),資源占用更少,可實現,更少的服務器支持更多的PV

2,緩存過期后通過轉到給tomcat處理,再寫入緩存,由java程序控制主要業務邏輯。配置少靈活性非常高

3,Nginx配置簡單

二、具體配置:

Nginx配置如下:

server {
        listen   80;
        server_name  www.nginx.com;

        location / {
            proxy_pass  http://www.nginx.com/;
        }

        location ^~ /ddd/ {
            set $memcached_key  "$uri";
            memcached_pass      127.0.0.1:11211;
            memcached_connect_timeout 3s;
            memcached_read_timeout 3s;
            memcached_send_timeout 3s;          
            memcached_buffer_size 8k;
            error_page          501 404 502 = /fallback$uri;
        }

        location /fallback/ {
            internal;
            proxy_pass          http://www.nginx.com/;
        }

    }

問題:

1,當增加Memcached服務器后需要修改Nginx配置文件

2,當有多個Memcached服務器時,nginx會根據key通過輪詢方式依次查找每一個服務器,不知道這樣速度會不會有影響。

參考:

http://f.souza.cc/2010/12/killer-java-applications-server-with.html

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!