栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Spring Cache中使用多个缓存实现

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Spring Cache中使用多个缓存实现

根据缓存名称需要哪种实现?

不是基于缓存名称,而是基于CacheManager(可能),将其中之一声明为

PrimaryCacheManager
,如下所示:

@Configuration@EnableCaching@PropertySource(value = { "classpath:/cache.properties" })public class CacheConfig {    @Bean    @Primary    public CacheManager hazelcastCacheManager() {        ClientConfig config = new ClientConfig();        HazelcastInstance client = HazelcastClient.newHazelcastClient(config);        return new HazelcastCacheManager(client);    }    @Bean    public CacheManager guavaCacheManager() {         GuavaCacheManager cacheManager = new GuavaCacheManager("mycache");CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder().maximumSize(100).expireAfterWrite(10, TimeUnit.MINUTES);cacheManager.setCacheBuilder(cacheBuilder);return cacheManager;    }}

并在课程级别将其指定为:

@Service@CacheConfig(cacheManager="hazelcastCacheManager")public class EmployeeServiceImpl implements IEmployeeService {}

或在方法级别上为:

@Servicepublic class EmployeeServiceImpl implements IEmployeeService {    @Override    @Cacheable(value = "EMPLOYEE_", key = "#id", cacheManager= "guavaCacheManager")    public Employee getEmployee(int id) {        return new Employee(id, "A");    }}

如果只需要保留缓存名称,则可以使用多个CacheManager。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号