-
Notifications
You must be signed in to change notification settings - Fork 0
60 Nginx缓存配置inactive time与proxy_cache_valid time的关系
Jinxin Chen edited this page Dec 11, 2019
·
1 revision
Nginx缓存配置缓存时有两个与时间相关的参数,inactive和proxy_cache_valid,他们之间的关系如何?
inactive指定了一个时间长度,在这个时间内缓存未被访问,则将从缓存中删除。该参数声明了缓存数据被保存的时间。
缓存有效时间。
inactive声明的是缓存数据的保存时间, proxy_cache_valid 声明的是缓存有效时间。
假设有资源:http://localhost/site.js,做如下测试:
inactive 2m, proxy_cache_valid 1m
- 第一次访问该资源,cache status返回 MISS。
- 过了1分钟但少于2分钟之内再次访问该资源,此时缓存数据还存在(没有超过inactive指定的时间),但是缓存已经失效(超过proxy_cache_valid指定的时间),cache status返回EXPIRED,此时proxy会将请求发送给后台服务器获取新的内容,并更新缓存数据
inactive 1m, proxy_cache_valid 2m
- 第一次访问该资源,cache status返回 MISS。
- 过了1分钟但少于2分钟之内再次访问该资源,此时缓存数据不存在(超过inactive指定的时间),缓存还没有失效(没有超过proxy_cache_valid指定的时间),但是从缓存数据中找不到对应的key,cache status返回MISS,此时proxy会将请求发送给后台服务器获取新的内容,并更新缓存数据
缓存是否命中,取决于 inactive 和 proxy_cache_valid 中设定的最小值。