ASP.NETキャッシングの利点と概要
コードを変更することなく、既存のASP.NETアプリケーションでクラスター化されたセッションをすばやく使用でき、アプリケーションのパフォーマンスがすぐに向上します。 NCache は、データベースに保存するよりも高速で拡張性の高い、Web ファーム用の高性能インメモリ ASP.NET セッション クラスタリングを提供します。 セッションがメモリ内に保持され、ASP.NET アプリケーションに近いため、高速になります。 また、データベース サーバーよりも大きな負荷を適切に処理できるファーム内の複数のサーバーにセッションを分散できるため、スケーラビリティが向上します。
NCacheを使用すると、ロード バランサーでスティッキー セッションを使用する必要がなくなります。 これにより、アプリケーションのスケーラビリティが大幅に向上します。 NCache セッションの強力な動的クラスタリングを提供します。 複数の Web サーバーまたは複数の専用セッション キャッシュ サーバー上でローカルにセッションを複製または分散できます。 NCache は、小規模な Web ファームから大規模な Web ファームまでセッション クラスタリングを拡張するための豊富な機能セットを提供します。
ASP.NET セッション状態を実装すると、セッション データをカスタム データ ソースに保存できます。 SessionStateStoreProviderBase クラス。 セッション状態ストア プロバイダーは、次を使用して実装されています。 NCache データを分散キャッシュに保存します。
NCacheベースのセッション状態ストア プロバイダーには次の利点があります。
コード変更なし: NCache セッション状態プロバイダーは、コードを変更せずにアプリケーションで使用できます。
より良いパフォーマンス: セッション データはメモリ内キャッシュに保存され、最大限のパフォーマンスが得られます。
信頼性: デフォルトでは、セッションは ASP.NET プロセスのメモリに保存されます。 プロセスがリサイクルされたり、アプリケーション サーバーがダウンしたりすると、セッション データが失われます。 と NCache、セッション データは、ASP.NET プロセスの外部のキャッシュ クラスターに保存されます。 信頼性のニーズを満たすために、任意のキャッシュ トポロジを選択できます。 したがって、アプリケーション サーバーがダウンした場合でも、ASP.NET プロセスがリサイクルされるか、アプリケーション サーバーが復帰しても、セッション データは利用可能なままになります。
スティッキーセッションの必要はありません: NCache セッション状態プロバイダーにより、ロード バランサーでのスティッキー セッションの使用が不要になります。
NCache キャッシュストレージ-スケーラビリティ: NCache セッション状態プロバイダーは NCache 保管用に。 ここでクラスター キャッシュを使用すると、スケーラビリティが向上します。 これを使用すると、実行時にセッション クラスターにさらにサーバーを追加できます。 その結果、アプリケーションのスケーラビリティと信頼性が向上します。 Web ファームの ASP.NET セッション クラスタリングは、データベースに保存するよりも高速でスケーラブルです。
可用性、負荷分散、フォールトトレランス: Web ファーム環境では、クラスター キャッシュ内のすべてのサーバー ノードでセッション データを利用できるようにして、より大きな負荷を適切に処理できるようにすることで、耐障害性が向上します。 これは、セッションがファーム上の複数のサーバーに分散される可能性があるためです。 したがって、高いパフォーマンスが得られると言えます。 小規模から大規模な Web ファームまでのセッション クラスタリングに適しています。
クラスタートポロジ: セッション キャッシュには、さまざまなクラスタリング トポロジを使用できます。 複製されたトポロジはクライアントの負荷分散を提供するため、トラフィックが集中しているときに Web アプリケーションが影響を受けないようになります。 パーティション レプリカ キャッシュを使用すると、アプリケーションに高いスケーラビリティと高い信頼性が与えられ、非常に高速になります。 セッションは、複数の Web サーバーまたは複数の専用セッション キャッシュ サーバー上でローカルに複製または分散/分割できます。 キャッシュ トポロジの詳細については、セクションを参照してください。 キャッシュトポロジ.
キャッシュでのセッションルックアップが簡単になりました: キャッシュ内のすべてのセッション データは XNUMX 回の呼び出しで取得できます。 NCache セッションにタグを提供します。 XNUMX 回の操作で、タグ付きのすべてのセッション データを簡単に取得できます。
排他的ロック: デッドロックとデータ整合性の問題を回避するために、排他ロックが提供されます。 NCache セッション状態プロバイダー。 ロックは構成可能で、デフォルトでは無効になっています。
リリース再試行のロック: 排他ロックが使用されている場合は、ロックの再試行も構成されます。 同時リクエストの場合、ロックを解除できます。
ロケーションアフィニティ: NCacheのセッション状態プロバイダーのロケーション アフィニティは、地理的に離れた複数の Web ファームにわたる ASP.NET セッション状態を管理します。 ロケーション アフィニティの場合、Web ファームごとに XNUMX つの「プライマリ」キャッシュと XNUMX つ以上の「セカンダリ」キャッシュを指定する必要があります。 XNUMX 次キャッシュはローカル領域内のすべてのローカル トラフィックに使用され、XNUMX 次キャッシュは地理的に離れた領域のものです。 これらはアプリケーションの中で設定されます Web.config ファイル。 この最適化は、.NET 2.0 以降のバージョンでのみ可能です。
このセクションの内容
ASP.NETセッション状態プロバイダーのプロパティ
を使用してセッションを保存する方法について説明します。 NCacheASP.NET用ののセッション状態プロバイダー。
マルチリージョンASP.NETセッション状態プロバイダーの構成
のロケーション アフィニティ機能の仕組みについて説明します。 NCache 複数のリージョンに分散されたクラスター化されたキャッシュを使用して、Webファーム用に構成できます。
ASP.NETとASP間のセッション共有.NET Core
ASP.NET セッションを ASP で共有および更新する方法について説明します.NET Core セッションとその逆。
ASP.NET SignalR Backplane
を使用してSignalRを構成および利用する方法を説明します NCache ASP.NETアプリケーションで。
ASP.NET View State キャッシング
ビュー ステート キャッシュとコンテンツ最適化機能の使用方法について説明します。 NCache.
ASP.NET出力キャッシュ用の分散キャッシュ
出力キャッシュを使用して、ASP.NET ページへの動的要求の HTML 出力をキャッシュし、応答プロセス全体を高速化する方法を示します。