1

スプリング ブート アプリケーションで、異なるタイプのオブジェクトに対して Cache を 2 つ実装しようとしています。メソッドに基づいて特定のオブジェクトをredisキャッシュに保存し、他のオブジェクトをグアバキャッシュに保存したい。CachingConfigurerSupport を拡張する 2 つの呼び出しを実装するたびに、このクラスには 1 つのインスタンスしか許可されないというエラーが表示されます。誰かがこれを行う方法を提案できますか?

4

2 に答える 2

0

このように CompositeCacheManager を使用できます。

CompositeCacheManager compositeCacheManager = new CompositeCacheManager(
                ehCacheCacheManager(),
                redisCacheManager());

キャッシュを使用する場合は、cacheManage を指定できます。

@Cacheable(value = "firstCache", key = "#word", cacheManager = "ehCacheCacheManager")

または

@Caching(
            cacheable = {
                    @Cacheable(value = "firstCache", key = "#word", cacheManager = "ehCacheCacheManager"),
                    @Cacheable(value = "extendInfo", key = "#word", cacheManager = "redisCacheManager")
            }
    )

しかし、キャッシュカスケードを更新する方法がわかりません。それが役に立てば幸い。

于 2016-01-06T12:02:58.170 に答える
0

以下のブログは素晴らしい実装を示しています。

于 2019-05-15T07:25:19.243 に答える