6

一般的に使用されるデータをキャッシュするために ASP.NET キャッシュ API を多用する ASP.NET アプリケーションがあります。さらに、有効期限を追跡するために、ポーリング ベースの SQL キャッシュ依存関係を使用しています。

現在の設計の欠点は、Web ファーム環境では、各 Web サーバーがサーバー間で共有されない独自のデータ キャッシュを持っていることです。

コードを簡単に移行して、複数のサーバー間でデータ キャッシュを共有する方法はありますか?

私はmemcachedを使用することを考えましたが、それはSQLキャッシュの依存関係では機能しませんよね?

他の解決策はありますか?

4

3 に答える 3

8

Windows Server AppFabric(以前のVelocity)を見たことがありますか。

http://blogs.msdn.com/velocity/

于 2009-11-26T15:14:51.850 に答える
2

Windows Server AppFabricは、まさにあなたが探しているもののようです。(別名「速度」)。紹介ドキュメントから:

Windows Server AppFabricは、スケーラブルで利用可能な高性能アプリケーションを開発するための分散型メモリ内アプリケーションキャッシュプラットフォームを提供します。AppFabricは、複数のコンピューター間でメモリを融合して、アプリケーションに単一の統合キャッシュビューを提供します。アプリケーションは、オブジェクトが格納される場所を気にすることなく、シリアル化可能なCLRオブジェクトを格納できます。スケーラビリティは、オンデマンドでコンピュータを追加するだけで実現できます。キャッシュを使用すると、データのコピーをクラスター全体に保存できるため、データを障害から保護できます。ネットワーク経由でアクセスするサービスとして動作します。さらに、Windows Server AppFabricはASP.NETとのシームレスな統合を提供し、データベースに書き込むことなくASP.NETセッションオブジェクトを分散キャッシュに格納できるようにします。

于 2011-03-30T15:22:43.060 に答える
2

次のオプションを使用できます-

  1. ここで説明する方法を使用して、Web ファーム間でデータを同期します - http://www.eggheadcafe.com/articles/20030420.asp

  2. 分散キャッシュ アプローチを使用する

  3. エンタープライズ ライブラリ キャッシュを使用します。

于 2009-11-16T11:08:03.420 に答える