您当前的位置: 首页 >  spring

恐龙弟旺仔

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringBoot_Cache自定义使用SimpleCacheManager

恐龙弟旺仔 发布时间:2018-08-16 17:55:06 ,浏览量:1

前言:

    在SpringBoot_Cache中,会默认使用SimpleCacheManager。

    但是笔者遇到一个问题,就是当前项目中也引用了redis的maven依赖,导致Cache使用了JedisManager,笔者还是想使用默认的SimpleCacheManager

    这个时候就需要我们手动生成SimpleCacheManager的bean,则Cache会强制使用该bean

    关于SpringBoot_Cache的使用笔者就不再赘述,读者可参考网络文章。

解决方案:

    创建一个Config类,然后主动生成SimpleCacheManager,代码如下

@Configuration
public class CacheManagerConfig {

	@Bean("cacheManager")
	// List会主动搜索Cache的实现bean,并添加到caches中
	public SimpleCacheManager cacheManager(List caches){
		SimpleCacheManager simpleCacheManager = new SimpleCacheManager();
		
		simpleCacheManager.setCaches(caches);
		return simpleCacheManager;
	}
	
	
	@Bean("stockDetail")
	public ConcurrentMapCacheFactoryBean stockDetail(){
		ConcurrentMapCacheFactoryBean stockDetail = new ConcurrentMapCacheFactoryBean();
		// 如果用户设置名称为stockDetail的缓存,则需要添加这样的一个bean
		stockDetail.setName("stockDetail");
		
		return stockDetail;
	}
	
	@Bean("detailMsg")
	public ConcurrentMapCacheFactoryBean detailMsg(){
		ConcurrentMapCacheFactoryBean stockDetail = new ConcurrentMapCacheFactoryBean();
		// 如果用户设置名称为detailMsg的缓存,则需要添加这样的一个bean
		stockDetail.setName("detailMsg");
		
		return stockDetail;
	}
}

注意:如果读者在使用@Cache的时候,需要多个不同命名的cache时,需添加多个ConcurrentMapCacheFactoryBean

关注
打赏
1655041699
查看更多评论
立即登录/注册

微信扫码登录

0.0417s