0

Windows Azure 用 Microsoft Enterprise Library 5.0 統合パック

私の知る限り、キャッシュはデータベースに保存され、すべての Web ロールは Azure のメモリ内分散キャッシュと同じキャッシュを共有しています。

Azure Caching の代わりに Windows Azure で Caching Application Block を使用して成功した人がいるのだろうかと思います。

もしそうなら、速度はどうですか?Azure Caching とは明らかに異なるもの。

コメントありがとうございます!

4

3 に答える 3

3

キャッシングアプリケーションブロックは非推奨になりました(ここを参照)。System.RunTime.Caching名前空間に置き換えられます。ただし、SqlDependencyはSQL Azureでサポートされていないため、データベース駆動型キャッシュにもキャッシュ名前空間を使用できません。

つまり、選択は、SQL Azureから自分で読み取ることによって独自のローカルキャッシュを実装するか、Windows Azureキャッシュを使用するか、または単にオンデマンドでSQLAzureから読み取るかということになります。

ローカルキャッシュは...ローカルであるため、パフォーマンスははるかに向上します:)。バックグラウンドスレッド(書き込む必要がある)は、特定の頻度でキャッシュを更新します。したがって、ローカルキャッシュへのアクセスは、メモリアクセス速度で行われます。ただし、各ノードには独自のキャッシュがあるため、WindowsAzureノード間で完全に同期されるわけではありません。この問題を回避するには、すべてのノードで同時に実行されるように更新ロジックをコーディングできます。

Azureキャッシュからの読み取りは、ローカルキャッシュにアクセスするよりも遅くなりますが、すべてのWindowsAzureノードが同時に同じデータにアクセスできます。それでも、特定の頻度でWindowsAzureキャッシュを更新するスレッドを構築する必要があります。自動的に更新されません。

警告:キーと値のペアのキャッシュエントリのキーを事前に知っている場合は、AzureCacheが適切に機能することに注意してください。つまり、AzureCacheからキーのリストを取得する方法はありません。たとえば、郵便番号/温度のリストを保存する場合、郵便番号がキーになります(これは既知のセットです)。したがって、この目的でAzureCacheを使用できます。Azure Cacheは、既知のキー(セッションID)も持つASP.NETセッション状態を格納するのに役立つように設計されています。

最後に、SQL Azure(またはAzureテーブルなどの別のストア)にデータを保持することも非常にうまくいく可能性があります。ただし、それは、取得するトラフィックの量と、データソースから読み取る回数によって異なります。場合によっては、キャッシュメカニズムの構築が必要以上に手間がかかることを忘れないでください。

于 2012-05-11T12:36:04.947 に答える
1

私は Enterprise Library にあまり詳しくありません。しかし、Windows Azure キャッシングはキャッシュ データをリモート サーバーのメモリに保存します。キャッシュされたデータをリクエストするときは、Web リクエストを行い、サーバーはメモリからデータを返します。キャッシュ サーバーと Windows Azure サーバーが同じデータ センターにある場合 (これは推奨される方法です)、Web 転送は非常に高速です。SQL Azure を使用してキャッシュ データを保存する場合、データが SQL Azure サーバーから Windows Azure サーバーに転送されるのにほぼ同じ時間がかかります。ただし、キャッシュ サーバーのメモリからデータをクエリするよりも、データベースからデータをクエリする方が時間がかかります。SQL Azure は、メモリにデータをキャッシュするなど、データ アクセスを増やすためにいくつかの最適化を行う場合があります。ただし、この場合は、SQL Azure よりも Windows Azure キャッシュを使用することをお勧めします。

よろしくお願いします、

明徐。

于 2012-05-11T09:04:31.370 に答える
1

Caching Application Block は、分散キャッシングに必要な機能を提供しません。代わりに、次のいずれかのテクノロジの使用を検討する必要があります。

  • Windows Azure キャッシング。これにより、クラウドで分散キャッシュをプロビジョニングできます。詳細については、「Windows Azure キャッシュ サービス」を参照してください。
  • Windows Azure テーブル ストレージで状態と値を維持します。これを実装する方法の例とその他の有用なリソースは、Windows Azure Training Kitに含まれています。
  • .NET Framework 4.0 の System.Runtime.Caching 名前空間のキャッシュ メカニズム。詳細については、System.Runtime.Caching 名前空間を参照してください。

SQL Azure と互換性があり、キャッシュ データベース プロバイダーに必要な SQL スクリプトは、個別のダウンロードとして入手できます。スクリプトを取得するには、 Microsoft Enterprise Library 5.0 Integration Pack for Windows Azureから EnterpriseLibraryIntegrationPack-WindowsAzure-sqlscripts.exe をダウンロードします。

Windows Azure アプリケーションで従来の Enterprise Library ブロックを使用する方法については、このホワイト ペーパーを参照してください。

于 2012-05-12T14:48:40.470 に答える