2017-10-27 10 views
4

以上のものを持って、私は春のキャッシュ抽象化機能によりつもりだとthisラインはほとんどの場合、一つだけのキャッシュが宣言されている間、注釈が 複数を可能に私の目春:なぜ、単一のキャッシュ

をキャッチしました複数のキャッシュが使用されるように指定する名前。 。

上記の行は、ドキュメントの上記のステートメントに続くこの抜粋を参照しています。

@Cacheable({"books", "isbns"}) 
public Book findBook(ISBN isbn) {...} 

同じ方法で複数のキャッシュを使用する必要があるのはなぜですか?キャッシュする必要がある各動作(関数)に対して、1つのキャッシュで十分ではないでしょうか?これには適切なユースケースは何でしょうか?

答えて

3

複数のキャッシュ名は、両方の/すべてのキャッシュがチェックされ、必要なキーがいずれかのキャッシュに見つかると、キャッシュされた値が返され、メソッド本体が呼び出されないことを意味します。

可能な使用例の1つは、さまざまなソース(データベースロードやオンライン/レストサービスコールなど)からデータを取り込んだキャッシュがあり、その両方をチェックする必要がある場合です。

実際にはほとんどの場合、1つのキャッシュで十分です。

関連する問題