2017-03-28 5 views
1

1つのメソッドで2つの異なるキャッシュ実装(RedisとEhCacheとしましょう)が必要です。意味@Cacheableメソッドは、RedisとEhCacheの両方をキャッシュする必要があります。Springブートのメソッドレベルでの複数のキャッシュ実装

それは可能ですか?

+0

なぜキャッシュはその1つではなく、その両方にあるのでしょうか?申し訳ありません、あなたが何をしているのか不明です。 – SMA

+0

ちょっと言って、キャッシュは@SMA –

+0

の両方にあるはずですが、その理由はまだ分かりません。あなたはキャッシュ全体に同じデータを複製していますし、キャッシュで価値を得るよう求めていますか?私が言うことの1つの方法は、クラスを作成し、それをredisとehcacheインスタンスで飾ることです。 get/put ...のようなキャッシュのメソッドを追加してください。 – SMA

答えて

1

オプション1: キャッシュをスタックします。 Springのローカルキャッシュを設定します。次に、CacheLoader/CacheWriterを介して分散キャッシュに配線します。一貫性は慎重に評価する必要があります。例えば。アップデートが分散キャッシュに行く場合、どのようにローカルキャッシュを無効にするのですか?それほど些細なことではありません。たぶん、あなたのデータには簡単で必要ではないかもしれません。おそらく不可能に近いでしょう。

オプション2: キャッシュの近くにあると呼ばれる分散キャッシュを使用してください。それは実際にあなたが自分でやりたいと思っている組み合わせですが、製品に組み合わされています。私はヘイルキャストとインフィニスパンが近いキャッシュを提供していることを知っています。ただし、一貫性と弾力性に関して、あなたの走行距離は異なる場合があります。私はヘイゼルキャストが最近ニア・キャッシュを強化したことを知っています。したがって一貫しています。

興味深い使用事例であり、実際には共通の問題です。さらなる考えと議論が高く評価されました。

+0

ありがとうご入力いただきありがとうございます。 –

関連する問題