proxy_cache_path 做了缓存,inactive=60m,如果后端更新了,客户访问到的nginx代理缓存还是没有更新的吗?如果是,怎么解决?

来源:3-21 Nginx作为缓存服务_场景配置演示

苦瓜苦也

2018-11-14

proxy_cache_path 做了缓存,inactive=60m,如果后端更新了,客户访问到的nginx代理缓存还是没有更新的吗?如果是,怎么解决?

写回答

1回答

Jeson

2018-11-18

抱歉哈 ,因为工作关系现在才回复你

inactive设置指的是某个缓存在inactive指定的时间内如果不访问,将会从缓存中删除。

设置缓存的时候,还有一个设置,proxy_cache_valid,它不管你proxy_cache_valid里设置的时间是多少。proxy_cache_valid是在保证inactive时间内被访问过的前提下,最长的可用时间。


如果后端更新了,客户访问到的nginx代理缓存还是没有更新的吗?如果是,怎么解决?

是的,所有的形式的缓存都会有这种情况,需要需要强制刷新缓存:

1、客户端通过设置 http no-cache头,来刷新缓存

2、服务端,强制清理缓存 nginx有第三方的模块

3、服务端,更新页面为一个新的url,索性让用户访问新的url




1
0

Nginx入门到实践-Nginx中间件应用+搭建Webserver架构

中间件、负载均衡、应用层安全防护、动静分离、Nginx+LUA开发等

4183 学习 · 908 问题

查看课程