1

各ノードに常駐する機能があります。この関数は、ファイル (データベースではなく) にアクセスするためのフォルダー パスへのアクセスを必要とします。現在、単一の共有ドライブにアクセスしないように、各ノードのフォルダーを同期しています。この同期手順を回避して、フォルダーで App Fabric キャッシュを利用することはできますか? それとも、キャッシュは正式なデータベース クエリにのみ使用されますか? どんな助けでも大歓迎です。

4

1 に答える 1

3

シリアライズ可能 (または、米国にいる場合はシリアライズ可能:-) である限り、AppFabric で任意の種類のオブジェクトをキャッシュできます (これは、サーバー間で正しくマーシャリングできるためだと思います)。したがって、各ファイルをバイト配列としてキャッシュする場合、フォルダー内のすべてのファイルを AppFabric キャッシュに入れることができます。

ただし、できるからといって、そうすべきであるとは限りません。. これらのファイルから読み取るだけなのか、これらのファイルに書き込むだけなのかは述べていません。読んでいるだけの場合、最初の読み取りでコードはキャッシュからバイト配列を取得し、それをディスクにデシリアライズしてから読み取りますが、その後の読み取りでは、キャッシュされたバージョンを再度取得するのはなぜですか? 同様に書いている場合、ファイルを更新するには、キャッシュされたデータを再度取得し、それをファイルとしてディスクに戻し、ファイルを更新してから、再シリアル化してキャッシュを更新し、このような分散環境でどれくらいの時間がかかるか、他のサーバーが同じデータを同時に更新するかどうかが気になります。もちろん、AppFabrics のペシミスティック コンカレンシーを導入することで回避できますが、

また、キャッシュにデータを入力する最初のノードが実際にキャッシュにデータを入力するデータを持つように、各ノードまたは依存を避けようとしている共有フォルダーにファイルのセットが必要な場合もあります。

AppFabric キャッシュの前に、ノードの同期を維持するために、最初にフォルダー レプリケーションのようなものを検討すると思います。

于 2011-10-04T17:43:05.373 に答える