需求:
1.指定url页面缓存立即清理
2.指定url列表,每隔5分钟清理一次
环境:ubuntu server 64-bit 13.04
对于需求2,用shell即可实现,这里采用bash shell
sudo vim /etc/crontab
增加一行
其中 varnish_clean.sh 脚本如下
对于需求1,在命令行下当然也可以直接使用varnishadm完成,这里要做一个简单的web接口,以供程序自动调用
直接采用ruby 和ruby下的简单web框架sinatra实现
ruby以及 sinatra的资料请自行谷歌或者必应
sinatra部分提供了一个简单的web程序,只要发起请求,就可以立即清理指定编号(id和页面的规则请自行设置)的页面,或者添加待清理的页面到文件中,留给cron计划任务去执行清理。
sinatra部分可以考虑引入一些安全措施,比如增加一个安全验证参数,如果不对公网公开的话,只是如上简单也不错。
开启web程序 ruby varnish_tool.rb
使用curl 测试 curl -I localhost:4567/update/cxxxxx/123
阅读(6960) | 评论(0) | 转发(0) |