我们可以在Spring Boot中同时使用多种类型的缓存(Redis & Guava)吗?



我正在尝试在春季启动应用程序中为不同类型的对象实现两种Cache。我想将某些对象存储在redis缓存中,而其他对象则基于该方法存储在guava缓存中。每当我实现两个扩展CachingConfigurerSupport的caless时,我都会得到一个错误,即此类只允许有一个实例。有人能建议我怎么做吗?

您可以像这样使用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")
            }
    )

但我不知道如何更新缓存级联。希望能有所帮助。

下面的博客展示了不错的实现。

最新更新