私はかなり複雑なアプリケーションを作成しています。それは複数のWebサーバーにまたがって実行されることが期待されています。そうしなければ簡単になります。いつでも変更可能なオブジェクトをキャッシュする必要がありますか?
基本的には、一連のクライアントレコードがあります。各クライアントレコードには、クライアント名や動的に作成される他のフィールドなど、すべての「実際の」データを含むXML列があります。ユーザーはいつでもクライアントの記録を更新できます。また、アプリケーションレコードもあります。各アプリケーションは複数のクライアントに関連付けられています。各アプリケーションは通常3つ以上のクライアントに関連付けられています。各クライアントのXMLデータは、通常5kを超えるテキストです。
私が行ったいくつかのプロファイリングでは、このXMLデータの取得と逆シリアル化はかなり高価な操作です。 Webアプリケーションの一部では、待ち時間が非常に短くなければなりません(related)。したがって、この部分では、私たちのWebアプリケーションはJSON Webサービスです。リクエストが行われると、通常、すべてのクライアントレコードが必要になります(現在どのようにコーディングされているかにより、完全に記録されます)。私はこの部分でできるだけデータベースのヒットを少なくしようとしています。
クライアントレコードのXMLオブジェクトをキャッシュするにはどのくらいの時間が必要ですか?ユーザーはいつでも変更することができることを知っているので、キャッシュする必要があるかどうかはわかりませんが、ユーザーはわずかに古くなったデータで暮らすことができますか?