Nginx實現HTTP快取

2021-10-19 10:33:49 字數 1179 閱讀 3191

使用proxy_cache_path屬性進行配置。語法如下:

syntax:	proxy_cache_path path [levels=levels] keys_zone=name:size [inactive=time] [max_size=size] ;
引數

作用path

快取存放根路徑

levels

表示快取目錄下的層級目錄結構,它是根據雜湊後的請求url位址建立的,目錄名稱從雜湊後的字串結尾處開始擷取。如雜湊後的請求鏈結位址為 *********123abc,則levels=3:3 表示,第一層級目錄的名稱是長度為3的字元abc,第二層子目錄的名稱是長度為3的字元123。

keys_zone

指定快取區名稱及共享記憶體大小。在共享記憶體中設定一塊儲存區域來存放快取的 key 和 metadata(類似使用次數),這樣nginx可以快速判斷乙個request是否命中快取,1m可以儲存8000個key,10m可以儲存80000個key。

inactive

表示主動清空在指定時間內為被訪問的快取,10m表示10分鐘。

max_size

最大cache磁碟空間,如果不指定,會使用掉所有dist space,當達到配額後,會刪除最少使用的cache檔案。

location /proxy_cache_test/

配置項介紹:

proxy_cache tmp -test 使用名為 tmp -test 的對應快取配置

proxy_cache_valid 200 206 304 301 302 10d; 對httpcode為200…的快取10天

proxy_cache_key $uri 定義快取唯一key,通過唯一key來進行hash訪問

proxy_set_header 自定義http header頭,用於傳送給後端真實伺服器。

使用 proxy_cache_purge 模組,該模組與proxy_cache成對出現,功能正好相反。

配置方法:

location /proxy_cache_test/

proxy_cache_purge:快取清理模組

tmp-test:指定的key_zone

$uri:指定的生成key的引數

nginx 快取實現

目的 快取nginx伺服器的靜態檔案。如css,js,htm,html,jpg,gif,png,flv,swf,這些檔案都不是經常更新。便於快取以減輕伺服器的壓力。實現 nginx proxy cache可以將使用者的請快取到本地乙個目錄,當下乙個請求時可以直接調取快取檔案,就不用去後端伺服器去取檔...

nginx實現快取功能

nginx從0.7.48版本開始,支援了類似squid的快取功能。這個快取是把url及相關組合當作key,用md5編碼雜湊後儲存在硬碟上,所以它可以支援任意url鏈結,同時也支援404 301 302這樣的非200狀態碼。雖然目前官方的nginx web快取服務只能為指定url或狀態碼設定過期時間,...

nginx強制重新整理使用者快取 HTTP 快取

http 快取分為強快取和協商快取.當前頁面不快取,每次訪問都去伺服器拉取.只有部分瀏覽器支援.判斷的字段 expire 或 cache control 由於具體時間沒有轉換到正確的時區有可能造成錯誤.所以傾向於使用 cache control max age 如果強快取沒有命中的話,則進入協商快取...