如何设置proxy_cache_path的inactive参数来自动清除低热度缓存?
- 内容介绍
- 文章标签
- 相关推荐
本文共计789个文字,预计阅读时间需要4分钟。
inactive 参数是
inactive 的真实作用逻辑
它不是定时删除,而是“懒清理”:Nginx 的 cache manager 进程会周期性扫描缓存元数据,把 inactive 时间内未被访问的条目从共享内存中移除,并在后续磁盘清理时(比如 max_size 触发 LRU)一并删掉对应文件。所以 inactive 是“软淘汰”,真正物理删除依赖后续空间压力或主动触发。
- 例如 inactive=30m:某条缓存自写入后 30 分钟内没被任何请求匹配到,就会被标记为不活跃
- 即使它还没到 proxy_cache_valid 设定的有效期(比如设置了 24h),也会被提前踢出缓存索引
- 如果该缓存之后又被请求,会重新拉取后端、重建缓存,不受之前 inactive 状态影响
合理设置 inactive 值的参考依据
值太小会导致频繁回源,值太大又起不到清理低热度数据的效果。
本文共计789个文字,预计阅读时间需要4分钟。
inactive 参数是
inactive 的真实作用逻辑
它不是定时删除,而是“懒清理”:Nginx 的 cache manager 进程会周期性扫描缓存元数据,把 inactive 时间内未被访问的条目从共享内存中移除,并在后续磁盘清理时(比如 max_size 触发 LRU)一并删掉对应文件。所以 inactive 是“软淘汰”,真正物理删除依赖后续空间压力或主动触发。
- 例如 inactive=30m:某条缓存自写入后 30 分钟内没被任何请求匹配到,就会被标记为不活跃
- 即使它还没到 proxy_cache_valid 设定的有效期(比如设置了 24h),也会被提前踢出缓存索引
- 如果该缓存之后又被请求,会重新拉取后端、重建缓存,不受之前 inactive 状态影响
合理设置 inactive 值的参考依据
值太小会导致频繁回源,值太大又起不到清理低热度数据的效果。

