fastcgi_cache

fastcgi_cache 指令启用对来自 FastCGI 服务器的响应进行缓存,以提升 Web 应用的性能。 — NGINX HTTP Core

fastcgi_cache
httpserverlocation
语法fastcgi_cache zone;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1

说明

`fastcgi_cache` 指令指定用于存储 FastCGI 响应的共享内存区,从而有效地缓存它们,以降低服务器负载并改善对经常请求内容的响应时间。当 FastCGI 服务器生成响应时,该响应可以根据请求参数被缓存,允许随后的相同请求从缓存中提供,而无需再次查询后端服务器生成新的响应。 该指令需要一个参数,表示使用 `fastcgi_cache_path` 指令预先定义的缓存区域的名称。它可以在诸如 `http`、`server` 和 `location` 块等各种上下文中使用,从而能够对不同位置如何处理缓存进行精细控制。结合像 `fastcgi_cache_key` 这样的相关指令,管理员可以确定什么构成唯一的缓存项,从而根据应用需求调整缓存机制的行为。 缓存行为还会受到相关指令的影响,例如 `fastcgi_cache_valid`,它定义缓存条目的有效时间;以及 `fastcgi_cache_bypass`,它允许动态控制何时绕过缓存,从而确保在必要时仍能提供已更新的数据。

配置示例

http {
    fastcgi_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m;
    server {
        location / {
            fastcgi_pass backend;
            fastcgi_cache my_cache;
            fastcgi_cache_valid 200 1h;
        }
    }
}

确保使用 fastcgi_cache_path 指令定义缓存区域;否则该指令可能无法按预期工作。

注意缓存失效;如果配置不当,可能会返回过期的数据。

检查用于缓存存储的目录是否设置了适当的权限。