【发布时间】:2021-09-29 06:00:11
【问题描述】:
我有一个 MultipleCacheManager 类,如下所示:
@EnableCaching
public class MultipleCacheManagerConfig {
@Bean
@Primary
public CacheManager mainCacheManager() {
// instantiate caffeine manager and add in specifications
CaffeineCacheManager cacheManager = new CaffeineCacheManager("example1", "example2");
cacheManager.setCaffeine(Caffeine.newBuilder()
.expireAfterWrite(4, TimeUnit.HOURS)
.recordStats());
return cacheManager;
}
// these are examples of alternate cache managers if another cache needs to be configured differently.
public CacheManager alternateCaffeineManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager("example3");
cacheManager.setCaffeine(Caffeine.newBuilder()
.expireAfterWrite(1, TimeUnit.HOURS)
.recordStats());
return cacheManager;
}
我是否需要在 CaffeieneCacheManager() 构造函数中实际传递我的缓存名称?只要@Cacheable 有属性@Cacheable(cacheName = "example1", cacheManager = "mainCacheManager") 有关系吗?缓存管理器在技术上已经连接到该名称。
【问题讨论】:
标签: java spring spring-boot caching caffeine-cache