私は、アプリケーションのデータレイヤーに少量のキャッシュを追加しようとしています。目標:要求終了時にキャッシュを無効にするSpring
私はいくつかのロジックがあります。これらのメソッドは、すべてのステップでデータベースからのコレクションにアクセスする必要があります。今、私はmethod1の呼び出しの間にコレクションを照会し、いくつかのケースでは、単にそれを再度照会することを避けるために、5-6回の呼び出しの周りにコレクションを渡すことになります。
この問題を解決するために、私はクエリの結果をキャッシュすることができたと思っていましたが、データベースに行くことなく即座に同じレスポンスを受け取ることを再度知っているだけです。また、廃止予定のオブジェクトを避けるために、私のキャッシュ無効化戦略は、すべてのhttp要求が要求の開始時に照会したコレクションを渡す行為をエミュレートし終えるたびに無効にすることです。
データベースにアクセスするのに私はSpringData
を使用していますが、Springのキャッシングアノテーションを使用してリポジトリ結果データをキャッシュすることを考えています。私はドキュメントをチェックし、動作させるにはキャッシュ実装が必要です(例えば、EHCache
またはそれに類するもの)。彼らの無効化戦略を見ると、私は要求に基づく無効化に関連するものを見つけることができないようです。
これは可能ですか?これは私の問題の良い解決策ですか?私はMongoDB
をデータベースとして使用しています。