SpringBoot中怎么配置单点Redis缓存


今天就跟大家聊聊有关SpringBoot中怎么配置单点Redis缓存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
*注意:RedisCacheConfig这里也可以不用继承:CachingConfigurerSupport,也就是直接一个普通的Class就好了;
*
*这里主要我们之后要重新实现key的生成策略,只要这里修改KeyGenerator,其它位置不用修改就生效了。
*
*普通使用普通类的方式的话,那么在使用@Cacheable的时候还需要指定KeyGenerator的名称;这样编码的时候比较麻烦。
*
*@create2017-12-1312:45
**/
@Configuration
@EnableCaching//启用缓存,这个注解很重要;
publicclassRedisCacheConfigextendsCachingConfigurerSupport{

/**
*缓存管理器.
*
*@paramredisTemplate
*@return
*/
@Bean
publicCacheManagercacheManager(RedisTemplate,?>redisTemplate){
RedisCacheManagercacheManager=newRedisCacheManager(redisTemplate);
//设置缓存过期时间
cacheManager.setDefaultExpiration(10000);
returncacheManager;
}

/**
*redis模板操作类,类似于jdbcTemplate的一个类;
*
*虽然CacheManager也能获取到Cache对象,但是操作起来没有那么灵活;
*
*这里在扩展下:RedisTemplate这个类不见得很好操作,我们可以在进行扩展一个我们
*
*自己的缓存类,比如:RedisS 香港云主机torage类;
*
*@paramfactory:通过Spring进行注入,参数在application.properties进行配置;
*@return
*/
@Bean
publicRedisTemplateredisTemplate(RedisConnectionFactoryfactory){
StringRedisTemplatetemplate=newStringRedisTemplate(factory);
setSerializer(template);//设置序列化工具
template.afterPropertiesSet();
returntemplate;
}

privatevoidsetSerializer(StringRedisTemplatetemplate){
Jackson2JsonRedisSerializerjackson2JsonRedisSerializer=newJackson2JsonRedisSerializer(Object.class);
ObjectMapperom=newObjectMapper();
om.setVisibility(PropertyAccessor.ALL,JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
template.setValueSerializer(jackson2JsonRedisSerializer);
}

/**
*自定义key.
*此方法将会根据类名+方法名+所有参数的值生成唯一的一个key,即使@Cacheable中的value属性一样,key也会不一样。
*/
@Override
publicKeyGeneratorkeyGenerator(){
returnnewKeyGenerator(){
@Override
publicObjectgenerate(Objecto,Methodmethod,Object…objects){
StringBuildersb=newStringBuilder();
sb.append(o.getClass().getName());
sb.append(method.getName());
for(Objectobj:objects){
sb.append(obj.toString());
}
returnsb.toString();
}
};
}

}看完上述内容,你们对SpringBoot中怎么配置单点Redis缓存有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注开发云行业资讯频道,感谢大家的支持。

相关推荐: CentOS7中怎么安装Tomcat9

这篇文章将为大家详细讲解有关CentOS7中怎么安装Tomcat9,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CentOS7安装Tomcat91. 下载https://tomcat.apache.org/do…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/02 15:20
Next 08/02 15:20

相关推荐