應用場景:將頁面的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