varnish学习笔记-清除缓存
1. 概述,purge
当varnish缓存的后端文件有更新时,需要让varnish清除缓存,有三种方法:
return (purge)
—— 使流程进入vcl_purge
子程序,取出相应缓存的对象内容然后清除之;ban(String)
—— 不从缓存中获取指定的内容;set req.hash_always_misss=true
—— 强制不命中缓存。
这些指令可以写在配置文件中,放在vcl_recv
子程序内。如:
sub vcl_recv {
if ([condition]) {
return (purge);
}
}
我们要做的就是让varnish
有条件的执行这三条指令之一,通常的做法是向varnish
发起一个HTTP方法为PURGE
的HTTP请求,请求的URL对应为需要清除的缓存。
如:
varnish
配置文件部分如下: