我试图在我的 Spring Boot 应用程序中为不同类型的对象提供两种缓存实现。我想根据该方法将某些对象存储在 redis 缓存中,而将其他对象存储在 guava 缓存中。每当我实现两个扩展 CachingConfigurerSupport 的类时,我都会收到一个错误,即该类只允许一个实例。谁能建议我怎么做?
问问题
1267 次
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 回答