摘要:与整合默认使用的是,相较于,是一个可伸缩的,线程安全的客户端。在处理高并发方面有更多的优势。使用依赖主要需要的依赖为配置配置使用与整合可以在不更改现有代码逻辑的基础上,通过增加注解的方式,实现缓存。
springboot2.0 与redis整合默认使用的是Lettuce,相较于jedis,lettuce 是一个可伸缩的,线程安全的redis客户端。在处理高并发方面有更多的优势。
RedisTemplate 使用
依赖, 主要需要的依赖为
compile("org.springframework.boot:spring-boot-starter-data-redis") compile("org.apache.commons:commons-pool2:2.6.0") compile("com.alibaba:fastjson:1.2.33")
yml 配置
spring: redis: database: 1 host: 192.168.1.XX port: 6379 lettuce: pool: max-active: 8 max-wait: -1ms min-idle: 0
redisTemplate 配置
@Configuration public class RedisConfiguration { @Bean public RedisTemplateredisTemplate(LettuceConnectionFactory connectionFactory){ RedisTemplate template = new RedisTemplate(); template.setConnectionFactory(connectionFactory); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); jackson2JsonRedisSerializer.setObjectMapper(objectMapper); template.setValueSerializer(jackson2JsonRedisSerializer); template.setKeySerializer(new StringRedisSerializer()); template.afterPropertiesSet();
return template; } }
1. 使用
@Autowired RedisTemplate redisTemplate; public void addData(){ MyInfo myInfo = new MyInfo("11","22","s344"); redisTemplate.opsForValue().set("11",myInfo); redisTemplate.opsForValue().set("myse","mys"); } ```spring-cache 与 redis 整合
spring cache 可以在不更改现有代码逻辑的基础上,通过增加注解的方式,实现缓存。 减少代码侵入
在gradle文件中增加 spring-cache的相关依赖 compile("org.springframework.boot:spring-boot-starter-cache")
配置CacheManager, 在Configuration 配置类上增加EnableCache 注解;
配置CacheManager Bean,代码为
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(objectMapper); RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory); RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig(); cacheConfiguration = cacheConfiguration.serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(jackson2JsonRedisSerializer)); cacheConfiguration.entryTtl(Duration.ofMinutes(10)); CacheManager cacheManager = new RedisCacheManager(redisCacheWriter, cacheConfiguration); return cacheManager;
完成上述配置后,便可以在service中直接使用spring-cache注解,完整代码: 代码
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/62035.html
摘要:经过上述两步的操作,你可以访问数据了。数据访问层通过来访问分钟过期单元测试启动单元测试,你发现控制台打印了单元测试通过源码下载参考资料 这篇文章主要介绍springboot整合redis 引入依赖 在pom文件中添加redis依赖: org.springframework.boot spring-boot-starter-data-redis 配置数据源 spri...
摘要:开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章系列处理登录请求前后端分离一使用完美处理权限问题前后端分离二使用完美处理权限问题前后端分离三中密码加盐与中异常统一处理 开公众号差不多两年了,有不少原创教程,当原创越来越多时,大家搜索起来就很不方便,因此做了一个索引帮助大家快速找到需要的文章! Spring Boo...
摘要:至此,已完成整合独立模块做缓存详情请看地址相关文章系列整合独立模块 项目github地址:https://github.com/5-Ason/aso...具体可看 ./db/db-redis 和 ./db/db-cache 两个模块 // TODO 在整合redis之前需要先本地配置好redis环境,迟点有时间补一下linux下下载安装配置redis 本文主要实现的是对数据操作进行独立...
摘要:至此,已完成整合独立模块做缓存详情请看地址相关文章系列整合独立模块 项目github地址:https://github.com/5-Ason/aso...具体可看 ./db/db-redis 和 ./db/db-cache 两个模块 // TODO 在整合redis之前需要先本地配置好redis环境,迟点有时间补一下linux下下载安装配置redis 本文主要实现的是对数据操作进行独立...
阅读 602·2021-10-08 10:20
阅读 1491·2021-09-23 11:22
阅读 3217·2019-08-30 15:55
阅读 1585·2019-08-28 18:25
阅读 1860·2019-08-28 18:14
阅读 1232·2019-08-26 11:37
阅读 2895·2019-08-26 10:18
阅读 2423·2019-08-23 18:39