fastcgi_no_cache

`fastcgi_no_cache` 指令根据指定条件控制是否缓存来自 FastCGI 应用的响应。 — NGINX HTTP Core

fastcgi_no_cache
httpserverlocation
语法fastcgi_no_cache condition | variable_names;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+

说明

`fastcgi_no_cache` 指令用于告诉 NGINX 是否缓存来自 FastCGI 服务器(例如 PHP 处理器)的响应。该指令可接受一个或多个变量或条件来决定缓存策略。例如,如果某个变量的值为 true,NGINX 将不缓存响应,从而允许动态内容生成,而不会因缓存命中而导致性能问题。它与 `fastcgi_cache_bypass` 指令配合使用,以基于相似条件实现一致的缓存行为。该指令必须在 NGINX 配置文件的 `http`、`server` 或 `location` 上下文中设置,通常与缓存相关设置配合使用以获得最佳性能。在需要在特定情况下执行缓存失效的应用中它尤其有用,例如用户已登录时,或响应内容根据请求参数发生显著变化时。通过有效管理动态内容,`fastcgi_no_cache` 有助于保持应用数据的新鲜度并改善 Web 应用的用户体验。

配置示例

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_no_cache $http_cache_control;
}

确保缓存条件定义清晰,以避免对 FastCGI 服务器造成不必要的负载。

使用不正确的变量名可能导致意外的缓存行为或错误的响应。