配置类:
@Configuration
public class CacheConfig {
public static final String A= "A";
public static final String B= "B";
@Bean(name = A)
@Primary
public CacheManager cacheManager() {
CaffeineCacheManager branchCache = new CaffeineCacheManager();
branchCache.setCaffeine(Caffeine.newBuilder()
.initialCapacity(1_000)
.maximumSize(1_000)
.weakKeys()
.expireAfterWrite(120, TimeUnit.MINUTES)
.recordStats());
return branchCache;
}
@Bean(name = B)
public CacheManager cacheSysManager() {
CaffeineCacheManager sysCache = new CaffeineCacheManager();
sysCache.setCaffeine(Caffeine.newBuilder()
.initialCapacity(1_000)
.maximumSize(1_000)
.weakKeys()
.expireAfterWrite(10, TimeUnit.SECONDS)
.recordStats());
return sysCache;
}
}
代码:
@Cacheable(cacheManager = CacheConfig.A, cacheNames = "getMemberAssetUsingFlag")
public boolean getMemberAssetUsingFlag() {
xxxxxxxxxxxx
}
@Cacheable(cacheManager = CacheConfig.B, cacheNames = "findBranchInfoById")
@Override
public Result<XXX> findBranchInfoById(Long id) {
xxxxxxxxxxxxx
}