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后,打开火狐浏览器,随便进入一个缓存页面,鼠标右键查看源代码,再选择网络。
点击第一个请求信息。
点击 编辑和重发
修改请求类型为 PURGE 再点击 发送
查看返回状态,如果成功则成功清除缓存,可以按 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