这是我参与更文挑战的第3天,活动详情查看: 更文挑战
本文正在参加「Java主题月 - Java 开发实战」,详情查看 活动链接
相关文章
Redis实战汇总:Redis实战
前言
SpringBoot应该不用过多介绍了吧!是Spring当前最火的一个框架,既然学习了Redis,我们肯定是要在实际项目中使用,那么肯定首选整合SpringBoot啦!
简单介绍下SpringBoot对Jedis的支持吧,在1.×版本的时候,SpringBoot的底层还是使用Jedis来连接Redis的,但是在2.×版本后,就换成了Lettuce。两者的区别如下:
Jedis: 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用 jedis pool 连接池! 更像 BIO 模式!
Lettuce: 采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像 NIO 模式!
- 添加POM依赖:
1 | java复制代码 <dependencies> |
- 配置连接的application.yml文件:
1 | bash复制代码server: |
- 测试连接:我们写个测试方法来进行最基本的连接测试!
1 | java复制代码import org.junit.jupiter.api.Test; |
运行效果如下!证明Redis连接成功!并且加数据获取数据也成功了!
- 其他方法如下:
1 | bash复制代码// redisTemplate #操作不同的数据类型,api和我们的指令是一样的 |
证明如果是用基本RedisTemplate类来操作Redis的话,是基本上可以达到所有的效果的,因为具体方法和命令大体一致!
- 对象的保存和读取
新增一个User类:
1 | java复制代码import lombok.Data; |
测试代码如下:
1 | java复制代码@Test |
报错如下:
结论:所以在操作Redis中,关于对象的保存我们得序列化才可以正常操作!
6. 自定义封装RedisTemplate类
上面说了大体上可以实现,但是为了在工作中更容易操作Redis,我们一般重新封装RedisTemplate类,如下所示:
1 | java复制代码import com.fasterxml.jackson.annotation.JsonAutoDetect; |
序列化完成后我们再试试对象的添加获取:
NICE!一切正常!
- 封装RedisUtils类:
在实际工作中,我们不可能用RedisTemplate 来操作Redis的,因为实在太繁琐,所以我们一般自定义一个RedisUtils工具类来操作Redis!
1 | java复制代码import org.springframework.data.redis.core.RedisTemplate; |
基本上常用的Redis操作都写在这里了,我们在工作中需要用什么,直接通过RedisUtils来使用即可!
- 使用RedisUtils
①首先将springboot项目启动起来:
②添加Contoller在web上测试添加和获取!
③测试工具类的基本使用:
在谷歌浏览器输入:返回成功
测试获取:获取成功!
9.总结:其实这篇讲了这么多,大家可以发现,SpringBoot真的是极度方便,整合Redis之后我们只需要简单的操作即可完美使用Redis!
但是,前面的内容还都是Redis相关的基础,接下来我将继续整理关于Redis的进阶知识!
路漫漫其修远兮,吾必将上下求索~
到此关于SpringBoot如何整合Redis的讲解就算告一段落了,如果你认为i博主写的不错!写作不易,请点赞、关注、评论给博主一个鼓励吧~
本文转载自: 掘金