/ / ASP.NET 'OutputCache'コントロールを使用して、パフォーマンスヒットなしでイメージをキャッシュすることはできますか? - asp.net、outputcache

ASP.NET 'OutputCache'コントロールを使用して、パフォーマンスヒットなしで画像をキャッシュすることはできますか? - asp.net、outputcache

私は画像を動的に生成するいくつかのASP.NET MVCアクションを持っています(ASPXページでも同じですが)。

私は[OutputCache]を使ってこれらの画像をキャッシュしています。 私は、ASP.NETで画像をキャッシュしてメモリに余りにも多くのリソースを費やすことを心配する必要があるかどうか疑問に思っています。これらは、数十の製品だけを含むショッピングカートのさまざまなサイズの製品イメージです。

OutputCacheはディスクを使用するのか、まさにメモリを使用しますか?どのように賢明ですか?または、イメージをディスクに保存して、自分のキャッシングシステム(実際には現在の実装)を実装するだけですか?

回答:

回答№1の場合は3

すべての目的と目的のために、私は、出力キャッシュが完全にメモリ内にあると考えています。つまり、アプリケーションプールがリサイクルされると、イメージを再度生成する必要があります。

私は過去に似たようなことをしなければなりませんでした。私は実際にHTTPキャッシュを主に使用した2層システムを実装し、ファイルシステムをフォールバックとして使用しました。何かが存在しなかった場合は、イメージを生成してディスクに保存し、キャッシュに入れます。キャッシュから取り出されたり、アプリケーションプールがリサイクルされた場合、ディスクからロードするだけですあなたは同じことをしたように見える)。

「あまりにも多くのメモリ」にまで、明示的に[OutputCache]の代わりにHttpContext.Cacheを使用すると、キャッシュ内のアイテムの優先度を制御できます。あなたは全体的にどのくらいのメモリを使用するかをコントロールするために、あなたのアプリケーションプールの設定を調整することができますが、私はそれ以外のことがたくさんあると確信していません。カップルの画像* 12の製品はそれほど多くの記憶を私にとっているようには思えません。

あなたのことについて何も知らずにアプリケーションでは、出力キャッシュを使用するだけで逃げることができるように私に聞こえます。しかし、より堅牢でスケーラブルなものが必要な場合は、私が記述した2階層システムを使用していますが、既に実装済みで作業していれば、