既知の問題があります-キャッシュの一貫性を確保する方法は?
1組のURLでこれがまだ設定のみで実行できる場合、10以上では既に常識の範囲を超えていました。
私は本当にこの(または同様の)構成が欲しかった:
location ~ ^/zone_two/(.*)$ { proxy_cache zone_two; proxy_cache_key $document_uri; proxy_cache_valid 60m; set $do_invalidate 0; if ($request_method = PUT) { set $do_invalidate 1; } proxy_cache_invalidate $do_invalidate; # Tadaaa!!! proxy_pass http://127.0.0.1:9102/$1; }
その結果、自転車が誕生しました-github.com/egorse/ngx-proxy-cache-invalidate 。
1.8.0、1.8.1で動作します。
nginxの他のバージョンはテストされていません。
批判はあらゆる方法で歓迎されます 。 特にnginxがgiblets用である場合。
Update1:キャッシュゾーン内の単一の要素は無効ではなく、proxy_cacheによって定義されたキャッシュゾーンの_all_要素。