次の方法で共有


キャッシュ クライアントとローカル キャッシュ (Windows Server AppFabric キャッシング)

Windows Server AppFabric のキャッシュ機能を使用する場合、アプリケーションでは DataCache オブジェクトを使用してキャッシュにデータを格納します。このオブジェクトは、キャッシュ クライアントと呼ばれます。既定のキャッシュを使用するキャッシュ クライアントを作成するには、GetDefaultCache メソッドを使用します。名前付きキャッシュを使用するキャッシュ クライアントを作成するには、GetCache メソッドを使用します。

ヒント

パフォーマンス上の理由から、キャッシュが有効なアプリケーションによって作成される DataCacheFactory オブジェクトの数は最小限にすることをお勧めします。DataCacheFactory オブジェクトは、キャッシュ クライアントを使用するアプリケーションのすべての部分で使用可能な変数に格納します。

セキュリティに関する考慮事項

キャッシュ クライアントの指定に使用する XML ベースのアプリケーション構成ファイルは、セキュリティ保護することを強くお勧めします。キャッシュ ホストのコンピューター名は、このファイルに指定されます。ただし、実際にキャッシュ クラスターにアクセスする別のクライアントについては、キャッシュ クラスターへのアクセスにアクセス許可が必要になります。

ローカル キャッシュ

サーバーはキャッシュのシリアル化されたフォームにオブジェクトを格納します。キャッシュ クライアントがキャッシュからオブジェクトを要求すると、サーバーはネットワークを介してクライアントにオブジェクトを送信します。キャッシュ クライアントはクライアント アプリケーションによって、使用するオブジェクトを逆シリアル化します。オブジェクト検索プロセスの速度を上げるには、ローカル キャッシュを有効にしてください。ローカル キャッシュ有効化の詳細については、「Windows Server AppFabric ローカル キャッシュの有効化」または「Windows Server AppFabric ローカル キャッシュの有効化 (XML)」を参照してください。

ローカル キャッシュを有効にすると、キャッシュ クライアントはオブジェクトへの参照をローカルで格納します。こうすることで、オブジェクトはクライアント アプリケーションのメモリでアクティブになります。アプリケーションがオブジェクトを要求すると、キャッシュ クライアントはまずオブジェクトがローカル キャッシュに存在するかどうかを確認します。存在する場合、そのオブジェクトへの参照はサーバーへの問い合わせなしですぐに返されます。存在しない場合、オブジェクトはサーバーから検索されます。次にキャッシュ クライアントはオブジェクトを逆シリアル化し、この新たに検索されたオブジェクトへの参照をローカル キャッシュに格納します。クライアント アプリケーションはこの同じオブジェクトを使用します。

ローカル キャッシュでのオブジェクトの有効期間は、ローカル キャッシュのオブジェクトの最大数や無効化ポリシーなど、いくつかの要因によって異なります。ローカル キャッシュの無効化には、次の 2 種類があります。タイムアウト ベースの無効化および通知ベースの無効化。詳細については、「有効期限と削除 (Windows Server AppFabric キャッシュ)」を参照してください。

ヒント

オブジェクトをローカル キャッシュに格納した後、これらのオブジェクトがキャッシュ クラスターの別のクライアントによって更新されるかどうかに関係なく、アプリケーションではこれらのオブジェクトは無効化されるまで引き続き使用されます。このため、ローカル キャッシュは変更頻度の低いデータに使用するのが最適です。

オブジェクトの整合性

ローカルでキャッシュされたオブジェクトは、キャッシュ クライアント プロセスと同じプロセス スペース内に格納されます。キャッシュ クライアントがローカルでキャッシュされたオブジェクトを要求すると、クライアントはコピーではなく、ローカルでキャッシュされたオブジェクトへの参照を受信します。これは、複数のスレッドによって同じローカル キャッシュ オブジェクトが変更される可能性があるマルチスレッド アプリケーションにとって重要な考慮事項です。これらのアプリケーションでは、標準 .NET Framework コーディング テクノロジを使用して、複数のスレッドによるオブジェクトへの変更を同期させることができます。各スレッドに個別の DataCacheFactory オブジェクトを作成することもできます。ただし、多数のキャッシュ ファクトリを作成するとオーバーヘッドが発生して利点が損なわれることになるので、慎重に行う必要があります。

関連項目

概念

Windows Server AppFabric キャッシュの物理アーキテクチャ図
Windows Server AppFabric キャッシュ論理アーキテクチャ図
有効期限と削除 (Windows Server AppFabric キャッシュ)
Windows Server AppFabric ローカル キャッシュの有効化
Windows Server AppFabric ローカル キャッシュの有効化 (XML)
キャッシュ クライアントを開発する (Windows Server AppFabric キャッシュ)

  2011-12-05