varnishadm簡單緩存清理設置
需求:
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