對GET請求進行緩存。
使用:浏覽器緩存,内容分發網絡和/或反向代理緩存。
HTTP緩存機制:
1. 源伺服器宣稱的内容緩存能力。 主要是對http頭資訊來控制的。
2. 請求的用戶端緩存能力,如GET請求。
nginx對哪些進行緩存?
1. 緩存沒有 Set-Cookie 的GET和HEAD的響應。
2. 通過定義獨特的原始URL,如proxy_cache_key。
3. 通過定義緩存時間,如X-Accel-Expires、Cache-Control、Expires。
nginx配置
緩存的過程
nginx的可在下列情況下使用陳舊的内容,通過proxy_cache_use_stale指令定義。
不僅僅對HTTP緩存,還有其他的,如:
1. FastCGI 功能很像HTTP
3. uwsgi and SCGI
緩存儀表
$upstrem_cache_status 變量值有:MISS、BYPASS、EXPIRED、STALE、UPDATING、REVALDATED、HIT。
擴充狀态監控
它是如何工作的?
1. nginx是使用基于磁盤的持久性緩存
2. 關注下面幾點:
内容是如何存儲在緩存?
緩存是如何在啟動時加載的?
緩存過期修剪
人工清理緩存内容
緩存内容是如何存儲的?
首先需要定義proxy_cache_path。
定義緩存key,proxy_cahce_key
擷取内容到緩存中,然後檢查MD5值
驗證
從磁盤加載緩存
管理磁盤緩存
清除磁盤内容
延遲緩存 proxy_cache_min_uses 節省磁盤寫入
緩存重新驗證 proxy_cache_revalidate 節省上行帶寬和磁盤寫入
緩存時間控制
多個緩存
提高網頁速度
參考内容:
HTTP caching basics:http://www.tommylacroix.com/2008/07/17/http-caching-basics/
HTTP cache headers:http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/
HTTP:https://www.varnish-software.com/static/book/HTTP.html
本文轉自 憬薇 51CTO部落格,原文連結:http://blog.51cto.com/welcomeweb/1926522