varnish4配置手动清除缓存

varnish4清楚缓存方法主要有,通过varnishadm 管理,或vcl配置。

其中vcl配置可以让客户端手动请求清楚缓存,以保证局部数据及时更新,而不用重启varnish服务器。


配置方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#允许清除缓存IP集
acl purge_ip{
    "127.0.0.1";
    "localhost";
}
 
sub vcl_recv {
   if(req.method ~ "update"){
      if(client.ip ~ purge_ip){
          return(purge);//清除缓存
      }
      return (synth(404,"Not Found"));
   }
}
 
sub vcl_purge{
    return (synth(200,"success"));
}


重启varnish后,打开火狐浏览器,随便进入一个缓存页面,鼠标右键查看源代码,再选择网络。

varnish4配置手动清除缓存


点击第一个请求信息。

varnish4配置手动清除缓存


点击 编辑和重发


varnish4配置手动清除缓存


修改请求类型为   PURGE  再点击  发送



varnish4配置手动清除缓存


varnish4配置手动清除缓存


查看返回状态,如果成功则成功清除缓存,可以按 F5 刷新页面,查看新内容。


注意:varnish4 与varnish3 配置方式不一样,所以此配置方式只能使用在 varnish4,varnish3使用方式差不多,是在vcl_hit中使用 purge; 命令然后返回一个  error 200 "success" , vcl_recv 应该使用 return(lookup);,再就是不要忘记添加 reg.request==“PURGE” 判断。



本文转自  ttlxihuan    51CTO博客,原文链接:http://blog.51cto.com/php2012web/1686810