Nginx 中 proxy_cache_valid 指令有什么作用?

推荐答案

proxy_cache_valid 指令用于设置 Nginx 缓存的有效时间。它定义了特定响应状态码的缓存时间,允许你为不同的 HTTP 状态码设置不同的缓存时间。通过这个指令,你可以控制缓存的内容在多长时间内被认为是有效的。

本题详细解读

1. 指令语法

  • code:HTTP 状态码,如 200、301、404 等。可以指定多个状态码,用空格分隔。
  • time:缓存的有效时间,可以是秒(s)、分钟(m)、小时(h)、天(d)等单位。

2. 使用场景

proxy_cache_valid 通常用于优化缓存策略,确保缓存的内容在合理的时间内有效。例如:

  • 对于 200 状态码的响应,缓存 10 分钟。
  • 对于 404 状态码的响应,缓存 1 分钟。

3. 示例配置

  • 第一行表示对于 200 和 302 状态码的响应,缓存 10 分钟。
  • 第二行表示对于 404 状态码的响应,缓存 1 分钟。
  • 第三行表示对于所有其他状态码的响应,缓存 5 分钟。

4. 注意事项

  • 如果没有为某个状态码指定缓存时间,Nginx 将不会缓存该状态码的响应。
  • 使用 any 关键字可以为所有未明确指定的状态码设置默认缓存时间。
  • 缓存时间的设置应根据实际业务需求进行调整,避免缓存时间过长或过短导致的问题。
纠错
反馈