Varnish Cache を一時的に無効にする最も簡単な方法 (varnishadm)

Varnish Cache を一時的に無効にする最も簡単な方法 (varnishadm)

ワニスを見分ける最も簡単な方法は何ですか?

Varnish プロセス、キャッシュをクリアしてください。また、今は何もキャッシュしないでください。今のところ、すべてのリクエストをバックエンドに直接渡すようにしてください。しばらくして通常の操作に戻ったらお知らせします。

ウェブサイトでデバッグと反復処理を行っていますが、変更と新しいリクエストの合間にこのコマンドを使用してキャッシュを常にクリアするのは面倒です。

varnishadm 'ban req.url ~ "."'

また、これは非常に複雑な varnish 構成であり、多数の異なる Web サイトとドメインに対して多数のバックエンドがあります。

私は、すべてのリクエストを一時的にバックエンドに強制するように Varnish に指示する最も単純なコマンドだけが欲しいのです。

# this command does not exist
varnishadm 'caching-pause req.url ~ "."'

そして、対応する簡単なコマンドで、varnish を通常の動作に戻します。

# this command also does not exist
varnishadm 'caching-resume req.url ~ "."'

すべてのキャッシュを一時的に停止するように Varnish に指示する簡単な方法はありますか?

答え1

次の VCL コードが にあることを確認します/etc/varnish/no-cache.vcl

vcl 4.0;

backend default {
    .host = "your-host";
    .port = "your-port";
}

sub vcl_recv {
    return(pass);
}

次に、次のように VCL をロードします。

varnishadm vcl.load nocache /etc/varnish/no-cache.vcl

Varnish でキャッシュをバイパスしたい場合は、次のコマンドを実行します。

varnishadm vcl.use nocache

通常の操作に戻りたい場合、通常の VCL の名前が でbootあれば、次のコマンドを使用します。

varnishadm vcl.use boot

varnishadm vcl.listロードされた VCL ファイルのリストを表示し、どのファイルがアクティブであるかを確認するために使用できます。

関連情報