溫馨提示×

Nginx緩存策略如何設置

小樊
73
2025-04-15 15:39:08
欄目: 編程語言

Nginx的緩存策略可以通過配置文件中的proxy_cache指令來實現。以下是一些基本的緩存策略設置步驟:

  1. 定義緩存路徑和參數: 在Nginx配置文件的http塊中,定義緩存路徑和緩存參數。例如:
http {
    # 緩存路徑
    proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;

    server {
        # ...
        location / {
            # ...
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            # ...
        }
    }
}

在這個例子中,proxy_cache_path指令定義了緩存路徑/var/cache/nginx,緩存級別為1:2(表示一級目錄和二級目錄),緩存區域名為my_cache,大小為10MB,最大緩存大小為1GB,未命中緩存的文件在60分鐘后被刪除,不使用臨時路徑。

proxy_cache_valid指令定義了不同HTTP狀態碼的緩存時間。例如,狀態碼200和302的響應將被緩存10分鐘,狀態碼404的響應將被緩存1分鐘。

  1. 啟用緩存: 在需要緩存的location塊中,使用proxy_cache指令啟用緩存,并使用proxy_cache_valid指令設置緩存時間。例如:
location / {
    # ...
    proxy_cache my_cache;
    proxy_cache_valid 200 302 10m;
    proxy_cache_valid 404 1m;
    # ...
}
  1. 緩存控制: 可以通過add_header指令添加緩存控制相關的HTTP頭信息。例如,可以添加Cache-Control頭信息來控制緩存行為:
location / {
    # ...
    add_header Cache-Control "public, max-age=3600";
    # ...
}

在這個例子中,Cache-Control頭信息設置為public,表示響應可以被任何緩存存儲,并且最大緩存時間為3600秒(即1小時)。

  1. 緩存失效: 當需要使緩存失效時,可以使用proxy_cache_purge模塊。首先需要安裝該模塊,然后在配置文件中添加相應的指令。例如:
location /purge {
    allow 127.0.0.1; # 允許本地訪問
    deny all; # 拒絕其他所有IP訪問
    proxy_cache_purge my_cache $scheme://$host$request_uri;
}

在這個例子中,proxy_cache_purge指令用于清除名為my_cache的緩存中與當前請求URI匹配的緩存項。$scheme、$host$request_uri是Nginx變量,分別表示協議、主機名和請求URI。

請注意,以上示例僅用于說明目的,并且可能需要根據實際需求進行調整。在配置Nginx緩存策略時,請務必仔細閱讀相關文檔,并根據實際情況進行測試和驗證。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女