配置 proxy_cache_valid 指令的示例

简介: 【10月更文挑战第2天】

关于配置 proxy_cache_valid 指令的详细示例和解释:

proxy_cache_valid 指令用于定义不同状态码的缓存有效期。以下是一个具体的示例:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache_zone:10m max_size=1g;

server {
   
    listen 80;

    location / {
   
        proxy_pass http://backend;
        proxy_cache my_cache_zone;

        proxy_cache_valid 200 30s;
        proxy_cache_valid 301 1m;
        proxy_cache_valid 302 1m;
        proxy_cache_valid 404 10s;
        proxy_cache_valid 500 5m;
    }
}

在这个示例中,我们为不同的状态码设置了相应的缓存有效期:

  1. 状态码 200:表示成功的响应,缓存有效期为 30 秒。这意味着对于正常的网页内容,在 30 秒内如果再次有相同的请求,将直接从缓存中返回,而无需再次向后端服务器请求。
  2. 状态码 301 和 302:重定向状态码,缓存有效期为 1 分钟。这是因为重定向通常是相对稳定的,在短时间内不太可能频繁改变。
  3. 状态码 404:未找到资源的状态码,缓存有效期为 10 秒。由于 404 表示资源不存在,所以缓存的时间较短,避免占用过多不必要的缓存空间。
  4. 状态码 500:服务器内部错误状态码,缓存有效期为 5 分钟。虽然出现 500 错误的情况较少,但设置一定的缓存时间可以减少对后端服务器的压力,在短期内避免再次出现错误时频繁请求后端。

需要注意的是,这些缓存有效期的设置需要根据实际的业务需求和资源特性进行合理调整。如果缓存有效期设置过长,可能会导致陈旧的数据被返回;如果过短,则可能会增加后端服务器的负担。

此外,还可以根据具体的应用场景进一步细化缓存有效期的设置。比如,对于一些经常更新的资源,可以设置较短的缓存有效期;而对于一些不常变化的静态资源,可以设置较长的缓存有效期。

同时,还可以结合其他缓存相关指令,如 proxy_cache_use_stale 等,来进一步优化缓存策略,提高缓存的利用率和性能。

目录
相关文章
|
前端开发 应用服务中间件
SpringMVC 文件上传 消息 Required request part ‘file‘ is not present描述 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者
SpringMVC 文件上传 消息 Required request part ‘file‘ is not present描述 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者
2076 0
|
网络协议 Go
curl --resolve参数的作用
curl --resolve参数的作用
264 0
ValidationError: Invalid options object. Dev Server has been initialized using an options object tha
ValidationError: Invalid options object. Dev Server has been initialized using an options object tha
bad boolean config value ‘****‘ for ‘http.sslverify‘
bad boolean config value ‘****‘ for ‘http.sslverify‘
|
Java Spring
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
3663 1
Initialization failed for ‘https://start.spring.io‘ Please check URL, network and proxy settings解决办法
|
存储 PHP
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
220 0
|
Web App开发 JavaScript 安全
Please open the about:config page and disable the "security.fileuri.strict_origin_policy" option
Please open the about:config page and disable the "security.fileuri.strict_origin_policy" option
225 0
Please open the about:config page and disable the "security.fileuri.strict_origin_policy" option
|
C#
get和set访问器
get和set访问器
293 0
|
缓存 前端开发 JavaScript
apache 配置 Expire/Cache-Control 头
apache 配置 Expire/Cache-Control 头 这里我使用的是Apache2.4.17 打开apache安装目录,找到conf目录,用记事本打开httpd.conf 文件。 ctrl+f 查找 LoadModule expires_module modules/mod_expires.
1479 0