現在のファイル ベースのキャッシュ依存システムを新しいものに置き換える必要がある状況があります。私が見ているのは、キャッシュに AppFabric を使用することです。テーブルがアプリケーションにデータ更新を通知する SQLDependencyCaching 手法が、ASP.NET 組み込みキャッシュと同様に AppFabric でも機能するかどうか疑問に思っていました。
3 に答える
AppFabricキャッシングでは、SqlCacheDependencyメカニズム(または実際にはあらゆる種類の依存関係)はサポートされていません。
ただし、AppFabric 1.1ではDataCacheStoreProviderクラスが導入されています。このクラスを使用すると、キャッシュが常に基になるデータベースと同期していることを確認できます。基本的に、DataCacheStoreProviderから継承するクラスを作成し、データベースからの読み取りとデータベースの更新方法を指示するメソッドを作成します。次に、キャッシュに対してすべてのデータアクセス(オブジェクトの追加、既存のオブジェクトの更新など)を実行するため、キャッシュには常に最新バージョンのデータが含まれます。次に、キャッシュはプロバイダークラスを呼び出してデータベースを更新し、変更を保持します。ここにプロバイダークラスを作成するためのウォークスルーがあります。
appfabric内ではサポートされていませんが、NCache内ではサポートされています。NCacheには、データ要素間の1-1、1-n、およびmnの関係を持つリレーショナルデータを管理できるキャッシュ依存機能があります。キャッシュの依存関係により、キャッシュ内のデータの整合性を維持できます。
SqlDependencyCache とは多少異なる動作をするWindows Azure 出力キャッシュ プロバイダーがありますが、優れたパフォーマンスとその他の利点があります。
また、カスタムの出力キャッシュ プロバイダーを作成し、Azure キャッシュ通知を利用して、要件に応じて更新をトリガーすることもできます。