0

強制キャッシュ ミスのメモには次のように記載されています。

キャッシュ ミスを強制しても、古いコンテンツは削除されません。これは、Varnish がコンテンツの複数のコピーをキャッシュに持つことを意味します。このような場合、常に最新のコピーが使用されます。複製されたオブジェクトは、有効期限が正である限り存続することに注意してください。

キャッシュに複数のコピーを保持したくありません。URL をプライミングする私のアプローチは有効ですか? 古いコンテンツをban lurkerに追加して手動で削除します。そして、キャッシュミスを強制して、禁止されたコンテンツを置き換えました。

acl purge_prime {
    "127.0.0.1";
    "::1";
}

sub vcl_recv {
    if (req.method == "PRIME") {
        if (!client.ip ~ purge_prime) {
            return(synth(405,"No priming for you. (" + client.ip + ")"));
        }
        # Add to the ban lurker. Purging existing pages.
        ban("obj.http.x-host == " + req.http.host + " && obj.http.x-url == " + req.url);
        # Call the backend to fetch new content and add it to the cache.
        set req.method = "GET";
        set req.hash_always_miss = true;
    }
    # ... other custom rules.
}

# ... other subroutines below, e.g. adding ban-lurker support etc.

ロジックは私には理にかなっています。他の誰もそれを行っていないので、私はただ心配しています(理由があると思います)。

単一の http リクエストを使用して URL を準備する最良の方法は何ですか?

4

1 に答える 1