generated at
Varnishのcacheをpurgeする
いくつかの方法がある



全てのcacheをpurgeする
varnishをreloadするコマンドを実行すればいい
コマンドは環境によって異なる
$ systemctl restart varnish
$ service varnish restart



PURGE methodを使う
特定の1つのURLをpurgeする
事前準備
purge用のVCLのaclを定義しておく
default.vcl
acl purge { "localhost"; "127.0.0.1"; }
PURGEを送れるIPアドレスを制限しておく
ちなみにこの purge は予約語ではないmrsekut
purge用の実装を定義しておく
default.vcl
sub vcl_recv { if (req.method == "PURGE") { if (!client.ip ~ purge) { return(synth(405,"Not allowed.")); } return (purge); } }
PURGEでrequestを送る
aclで指定した環境の中で以下を実行
$ curl -X PURGE https://example.com/hoge
参考
2 8 に書いている





参考
docs
versionが明記されていないが、恐らく内容がかなり古い




ban() を使う
これよくわからん #??
対象のものがban listに追加される
この時点ではメモリ内に残っている
次にrequestを送った時は、originから取得される
varnishadmで呼べる
$ varnishadm ban req.http.host == example.com '&&' req.url '~' '\\.png$'
varnishadm> ban.list で確認できる
古い
古い
使いどきがわからない #??




forced cache miss
cache内のobjectをrequest時のものに更新する

3種類あるけど何が違うねん
example.com/v2/* みたいな感じで指定してpurgeしたい