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