2017-08-26 16 views
1

ワニスを使ってRPMやその他の巨大なバイナリをキャッシュしようとしています。私が期待していたのは、オブジェクトがキャッシュ内で期限切れになったときに、ワニスがIf-Not-Modifiedを使ってバックエンドにリクエストを送信し、オブジェクトが変更されなかったと仮定すると、ワニスはローカルのキャッシュオブジェクト新しいものをダウンロードすることなく。私は特定のリクエストを生成するためのテストバックエンドを書いていました(小さなワイルドカードを設定し、ヘッダーのワニスを送信するのを見てください)が、完全にフェッチすることはありません。変更されていない場合は送信されません。私のVCLは基本的にデフォルトのVCLです。小さなttl/graceを設定して遊んでみましたが、面白い振る舞いはありませんでした。ワニスは決して送信しません。変更されていない場合は

ワニスは私が欲しいものを行うことすらできますか?もしそうなら誰も何か似たようなことをしてヒントを与えることができますか?

+0

小さなTTLを設定する場合、コンテンツをキャッシュする方法については、https://jakearchibald.com/2016/caching-best-practices/をご覧ください。 –

答えて

0

オブジェクトが期限切れになったときにバックエンドに送信される要求は、ワニスがクライアントから受け取る要求です。

あなたの設定をテストするときに、If-Not-ModifiedヘッダーをVarnishに送信していますか?

https://www.varnish-software.com/wiki/content/tutorials/varnish/builtin_vcl.htmlを参照して、VCLの組み込みを確認してください。

キャッシュ内にオブジェクトが存在しない場合に呼び出されるvcl_backend_fetchの下では、古くなったオブジェクトの周囲に複雑なロジックがないことがわかります。要求をそのままそのまま渡しています。

関連する問題