2011-10-10 16 views
5

RESTリソース(Spring MVC + ETag)を使用してリバースプロキシキャッシュとしてnginxをテストしています。すべてのGETは大丈夫です。nginx - http PUTまたはPOSTでクリアキャッシュ

HTTP PUTまたはHTTP POSTによって更新されるたびに特定のリソースのnginxキャッシュをクリアすることはできますか?

ps:ワニスキャッシュもテストしていますが、私は同じ疑いがあります。

ありがとうございます!

答えて

0

Nginxにはいくつかのオプションがあるので、実装しているキャッシュの種類は指定していません。

あなたの質問から、あなたのサイトにアップロードされた画像のような静的なファイルを指していると仮定します。

  1. プロキシキャッシング nginxのは、バックエンドサーバからの応答をキャッシュする場所です。静的ファイルに対してこれを最初に有効にすることに意味はありません。プロキシキャッシュは単にあなたのハードディスク上のストアであり、そのようなファイルを取得するコストは、Nginxにファイルシステム上の実際の場所からそれらを提供させる場合と同じです。

  2. FastCGIキャッシング プロキシキャッシングと同じです。 POSTまたはPUTを使用してアップロードできるファイルタイプのポイントはありません。

  3. Memcache ここでは、アイテムはRAMに格納されており、これには利点があります基本的なMemcacheと拡張Memcモジュールの両方に、キャッシュへの追加と削除の両方の手順があります。

あなたのクエリしかし、あなたは、2つの以前のいずれかを使用してPOSTまたはPUTを使用してアップロードすることができるファイルの種類のためにこれをやって中に何の利益が絶対にありません、言ったようにしている示唆しています。 Nginxにキャッシュされると、元のディスクの場所から参照された場合と同じように、それらが保持されるディスクの場所から読み込まれます。元のディスクの場所から別のディスクの場所にコピーするオーバーヘッドもあります。

もちろん、私が何かを見逃している場合を除いて。