0

私はEhcacheを使い始めたばかりですが、これまでのところかなり良いようです。データベースに対する読み取りを高速化するために単純な方法で使用していますが、データベースが短期間使用できない場合にアプリケーションを稼働させ続けるためにも使用できるかどうか疑問に思います。(更新-私のコンテキストは、データベースからのみ読み取る高可用性モジュールを備えたアプリケーションです)

データベースの読み取りに問題が発生した場合に有効期限を無効にし、読み取りが再び機能するときに再度有効にすることで、それを実行できるようです。

どう思いますか?それは合理的なアプローチですか、それとも私は何かを逃しましたか?それが公正なアプローチである場合、どのように実装するのが最善かについてのヒントは高く評価されています。

更新-ehcacheは、キャッシュを「eternal」に解除/設定するための動的に構成可能なオプションをサポートしています。これは私が必要なことをするようです。

4

1 に答える 1

1

興味深い質問です。通常、答えは「場合による」です。

まず、データベースの信頼性に問題がある場合、応急処置を適用するのではなく、それらを修正することに時間とエネルギーを費やします。

第二に、ほとんどのアプリケーションは読み取りと書き込みの両方を必要とします。アプリを読み取り専用にしておくのは意味がないようです。

ただし、アプリに真の「読み取り専用」機能があり、データベースのダウンタイムの既知の制御された理由 (バックアップなど) がある場合は、キャッシュを使用して、データベースがダウンしている間もアプリケーションを稼働させ続けることができます。 . 特定のエッジケースをコーディングしようとするのではなく、キャッシュ期間を延長することでこれを行います。たとえば、データベースが使用可能かどうかを確認し、問題が発生した場合に別の構成ファイルにスワップするバックグラウンド プロセスがあるとします。

于 2011-08-12T10:26:04.893 に答える