Nginx缓存不活动与代理缓存有效

Nginx缓存不活动与代理缓存有效,nginx,Nginx,Nginx缓存配置: proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { # ... location / { proxy_cache my_cache; proxy_cache_valid 5m; proxy

Nginx缓存配置:

proxy_cache_path /path/to/cache levels=1:2 keys_zone=my_cache:10m max_size=10g 
                 inactive=60m use_temp_path=off;

server {
    # ...
    location / {
        proxy_cache my_cache;
        proxy_cache_valid 5m;
        proxy_pass http://my_upstream;
    }
}
不活跃

inactive指定项目可以在缓存中保留多长时间而不被访问。在此示例中,缓存管理器进程将自动从缓存中删除60分钟未请求的文件,而不管该文件是否已过期

代理\u缓存\u有效

设置不同响应代码的缓存时间。如果只指定了缓存时间,则只缓存200、301和302个响应

proxy\u cache\u是否有效
override inactive?5m后,缓存文件是否存在?

来自博客的两个引号:

结果表明,proxy_cache_valid指示Nginx如果资源没有首先变为非活动状态,则可以将该资源缓存1y。当您请求过期时间较长但由于缺少请求而变为非活动的资源时,会导致缓存未命中

结论 代理缓存路径的非活动时间应高于请求的过期时间(代理缓存有效)

发件人:

inactive指定项目可以在缓存中保留多长时间而不被访问。在此示例中,缓存管理器进程将自动从缓存中删除60分钟未请求的文件,而不管该文件是否已过期。默认值为10分钟(10米)。非活动内容与过期内容不同。NGINX不会自动删除缓存控制头定义的过期内容(例如,缓存控制:max age=120)。只有在inactive指定的时间内未访问过期(过时)内容时,才会将其删除。访问过期内容时,NGINX将从源服务器刷新内容并重置非活动计时器

那么,您的问题的答案是:

代理缓存有效覆盖是否处于非活动状态?5m以后缓存的文件是否存在

不,他们成对工作

  • proxy\u cache\u valid
    使缓存在5分钟内过期

  • 如果缓存(不管是否过期)在10分钟内未被访问,Nginx将删除它

  • 如果在10分钟内访问了过期缓存,NGINX将从源服务器刷新它并重置非活动计时器

  • 也有助于更好地理解代理缓存的有效性和非活动性

    结果表明,proxy_cache_valid指示Nginx如果资源没有首先变为非活动状态,则可以将该资源缓存1y。当您请求过期时间较长但由于缺少请求而变为非活动的资源时,会导致缓存未命中

    结论 代理缓存路径的非活动时间应高于请求的过期时间(代理缓存有效)

    发件人:

    inactive指定项目可以在缓存中保留多长时间而不被访问。在此示例中,缓存管理器进程将自动从缓存中删除60分钟未请求的文件,而不管该文件是否已过期。默认值为10分钟(10米)。非活动内容与过期内容不同。NGINX不会自动删除缓存控制头定义的过期内容(例如,缓存控制:max age=120)。只有在inactive指定的时间内未访问过期(过时)内容时,才会将其删除。访问过期内容时,NGINX将从源服务器刷新内容并重置非活动计时器

    那么,您的问题的答案是:

    代理缓存有效覆盖是否处于非活动状态?5m以后缓存的文件是否存在

    不,他们成对工作

  • proxy\u cache\u valid
    使缓存在5分钟内过期

  • 如果缓存(不管是否过期)在10分钟内未被访问,Nginx将删除它

  • 如果在10分钟内访问了过期缓存,NGINX将从源服务器刷新它并重置非活动计时器

  • 也有助于更好地理解
    proxy\u cache\u valid
    inactive