ASP.NET 出力キャッシュは、ASP.NET ページのレンダリングされたコンテンツのメモリ内コピーを保持できるようにする Microsoft が提供するメカニズムです。 このため、ASP.NET は、大量のデータベース呼び出しによって非常にコストがかかる可能性があるこのページを再実行する代わりに、このページに対する後続のユーザー要求をメモリ内キャッシュされたコピーから処理できます。
したがって、ASP.NET 出力キャッシュはアプリケーションのパフォーマンスを向上させるだけでなく、高価なデータベースの移動も削減します。 これにより、ASP.NET アプリケーションのスケーラビリティが向上します。そうしないと、すべての ASP.NET ページが繰り返し実行されると、データベースがスケーラビリティのボトルネックになるからです。
ただし、ASP.NET 出力キャッシュは、ワーカー プロセスが頻繁にリセットまたはリサイクルする ASP.NET ワーカー プロセスのアドレス空間に常駐します。 これが発生すると、ASP.NET 出力キャッシュがすべて失われます。 次に、Web ガーデンの場合、同じページ出力が複数回キャッシュされ、各ワーカー プロセスで XNUMX 回キャッシュされると、大量の余分なメモリが消費されます。
NCache 詳細 NCache ドキュメント ASP.NET出力キャッシュ
また、お読みください。 パフォーマンスを向上させるためのMicrosoftAzureのASP.NET出力キャッシュ
使い方 NCache ASP.NET出力キャッシュの分散キャッシュとして
ASP.NET 出力キャッシュのこれらの制限を克服するには、 NCache は、ASP.NET 出力キャッシュ プロバイダーを実装して、ASP.NET でレンダリングされた出力をワーカー プロセス アドレス空間ではなくプロセス外キャッシュにキャッシュできるようにしました。 これにより、各ワーカー プロセスでローカルに同じ ASP.NET ページをレンダリングしなくても、レンダリングされた ASP.NET ページの出力を Web ファーム内の他のすべての Web サーバーで利用できるようになります。
使用することにより、 NCache ASP.NET 出力キャッシュ プロバイダーとして より多くのデータを out-proc キャッシュにキャッシュできるだけでなく、データベースの負荷を大幅に軽減することもできます。 これは、レンダリングされた各 ASP.NET ページ出力が、コストのかかるデータベース トリップを伴うページ レンダリング プロセスを各ワーカー プロセスで実行しなくても、Web ファーム内のすべての Web サーバーにアクセスできるためです。
また、 NCache これにより、ASP.NET ページ全体ではなく、特定の部分の出力をキャッシュすることもできる柔軟性が得られます。 このアプローチは、ASP.NET の特定の部分を毎回レンダリングする必要があるシナリオで非常に役立ちます。 加えて、 NCache また、ワーカー プロセスがリセットまたはリサイクルしても、データはワーカー プロセスのアドレス空間の一部ではなく、別のキャッシュ サーバーに存在するため、データは失われません。そのため、高可用性も実現します。
設定手順 NCache 出力キャッシングプロバイダー
ステップ:1 登録する NCache ASP.NET出力キャッシュプロバイダーとして
ASP.NET アプリケーションの web.config を変更して登録します NCache 出力キャッシュプロバイダーは次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<caching> <outputcache defaultprovider="NOutputCacheProvider"> <providers> <add name="NOutputCacheProvider" type="NCOutputCache.NOutputCacheProvider" exceptionsenabled="true" enablelogs="false" cachename="mypartitionofReplicaCache"> </add></providers> </outputcache> </caching> <compilation debug="true" targetframework="4.0"> <assemblies> <add assembly="Alachisoft.NCache.OutputCache, Version=4.1.0.0, Culture=neutral"> </add></assemblies> </compilation> |
ステップ:2 ASP.NET出力キャッシュタグを追加
出力をキャッシュしたいページに、後述の出力キャッシュ タグを追加します。
1 2 |
<%@ OutputCache VaryByParam="ID" Duration="300" %> |
また、ASP.NET 4.0 より前のバージョンの ASP.NET は、カスタム ASP.NET 出力キャッシュ プロバイダーのサポートを提供しません。 したがって、ASP.NET の以前のバージョンをすべてサポートするには、 NCache は、HttpModule を使用して別のバージョンの ASP.NET 出力キャッシュ プロバイダーも実装しました。 この HttpModule は、ASP.NET 出力キャッシュ プロバイダーに基づいています。 NCache アプリケーションが 4.0 より前のバージョンの ASP.NET を使用している場合でも、分散キャッシュを使用して、レンダリングされた ASP.NET ページ出力を保存できます。
まとめ
要約すると、次のように使用します。 NCache 出力キャッシュ プロバイダーを使用すると、ASP.NET アプリケーションの応答時間を簡単に向上させ、データベースの負荷を軽減できます。 さあ、ギアを準備して使い始めましょう NCache より高速で信頼性の高いエクスペリエンスを実現します。
NCache 詳細 ダウンロード NCache エディションの比較
ローカライズされたアーカイブの場所を含むように conf を設定します。 内部の DistributedCache コードによって使用されます。