Nginx fastcgi_cache_valid 与 fastcgi_cache_path 的非活动状态

Rya*_*yan 5 nginx fastcgi php-fastcgi

如果我有配置

fastcgi_cache_path /opt/nginx levels=1:2 keys_zone=TEST:100m inactive=40m;
..
fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
fastcgi_cache_valid 30m;
Run Code Online (Sandbox Code Playgroud)

我的缓存会在path上面存放多久?

小智 6

fastcgi_cache_valid用于定义没有“X-Accel-Expires”、“Expires”或“Cache-Control”标头的回复的缓存时间。
fastcgi_cache_path ... inactive=用于定义对象在不从浏览器访问的情况下应保留在缓存中的时间。

所以你的情况与fastcgi_cache_valid 30mfastcgi_cache_path ... inactive=40m从原来的服务器,而无需任何缓存控制标头的所有答复的有效期为30分钟(但可如果与原来的服务器出现问题的情况下30分钟后可用于fastcgi_cache_use_stale配置)。
但是,如果 40 分钟内用户没有请求该对象,则缓存对象将从缓存中删除。