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

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

1、優點: java

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

2,緩存過時後經過轉到給tomcat處理,再寫入緩存,由java程序控制主要業務邏輯。配置少靈活性很是高 緩存

3,Nginx配置簡單 tomcat

2、具體配置: 服務器

Nginx配置以下: app

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/;
		}
		
    }

問題: memcached

1,當增長Memcached服務器後須要修改Nginx配置文件 code

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

參考:

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

相關文章
相關標籤/搜索