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

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


配置方法:

#允许清除缓存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配置手动清除缓存_第1张图片


点击第一个请求信息。

varnish4配置手动清除缓存_第2张图片


点击 编辑和重发


varnish4配置手动清除缓存_第3张图片


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



varnish4配置手动清除缓存_第4张图片


varnish4配置手动清除缓存_第5张图片


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


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