这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战
前言
Redis是比较著名的NoSql数据库,主要用于存放KV型数据等非关系行数据,但随着Redis的发展,它所能做的功能越来越多,能够实现的场景包括但不限于:缓存,配置,排行榜,计数,分布式锁,限流,消息队列等等,当然我们提到他最多的时候是应用在缓存场景,因为redis是为缓存而生.
集成
添加Maven包
这里使用了spring-boot-starter-data-redis
,它自带的客户端连接工具是lettuce
.
当然你也可以使用redisson
或者jedis
,不过需要先排除lettuce
,再引入对应的包
1 | xml复制代码<dependency> |
如果使用FastJson序列化 也需要引入fastjson ,你喜欢Jackson的话,不想写😂
1 | xml复制代码<dependency> |
application.yml配置
1 | yaml复制代码spring: |
添加配置类
1 | arduino复制代码 |
这里使用的是FastJson
序列化,并指定默认序列化方式,Key序列化方式和Value序列化方式都是FastJson.
在业务中注入方式为
1 | typescript复制代码@Autowired |
其中<String,Object>
部分可以根据序号更换为其他类型
测试使用
一定要测试呀,我同事项目组,项目上线之后发现redis配置有问题,线程不释放,用上一段时间就卡死…
单线程 存储 100000 数据测试 : 取第二次测试结果耗时 17834 ms
1 | ini复制代码@GetMapping("/string1") |
100线程 并发 存储 100000 数据测试 :取第二次测试结果耗时 2795 ms
1 | ini复制代码 @GetMapping("/string100") |
管道 存储 100000 数据测试 :取第二次测试结果耗时 2071 ms
1 | ini复制代码@GetMapping("/stringPipe") |
1 | arduino复制代码 作者:ZOUZDC |
本文转载自: 掘金