查了很多资料,貌似squid的更新机制是由下一个http请求触发,如果cache过期,squid则请求源站点信息返回并cache。
不知道squid有没有收到http请求立即返回cache,同时异步请求源站点信息更新cache机制。 这样能保证及时响应请求,同时又更新了cache。
应该是没有自动做这个动作的功能,你只能先清除cache后再更新,否则你想想squid每次都去后端更新就没有意义了,如果不是每次都去后端更新,那他怎么确定什么时候该更新,什么时候不该更新呢
最终测试发现squid是支持异步回源的, 没有问题。
minimum_expiry_time 1 seconds
refresh_pattern . 1 0% 1 ignore-reload override-lastmod stale-while-revalidate=8640000
stale-while-revalidate=n 在n的时间内会执行异步,n时间外执行同步