SpringBoot整合Redis(SpringBootTest及RedisTemplate)
前情提要
之前学习了使用Java链接Redis数据库的操作,但在实际的开发中,我们并不使用该方式进行对Redis的操作,而是使用RedisTemplate对Redis进行数据操作
SpringBoot整合Redis
-
实际上就是添加依赖,使用封装好的模板进行操作 文件结构如下:
创建SpringBoot项目
IDEA :File->New->Project->Maven
pom.xml文件添加依赖及相关配置
<properties>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--整合redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--spring boot test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
appliaction.yml设置redis的服务器及端口号
编写启动类RedisApplication
使用SpringBootTest做单元测试
-
SpringBoot中不能再使用JavaTest做单元测试,而换为SpringBootTest 可以看到在pom.xml中我们已经添加了SpringBootTest的依赖 RedisTemplateTest的代码如下: 执行setValue后可以从虚拟机打开的Redis服务中获取到username的值 可以看到已经被存入了,之所以显示成这个样子,是因为RedisTemplate中已经对key和value做了序列化 我们可以通过自主的设置序列化的格式来控制其显示的方式
附加:设置RedisTemplate的序列化
-
RedisTemplate是通过@Autowired方式获取的,那么进行设置时,即将设置好的RedisTemplate注入Bean即可
以下是将Key存为String格式,将Value存为Json格式进行设置 RedisConfig的代码如下: 注入完成后,那么在使用时需要通过指定Bean的名称进行获取 从redis中进行获取,可以看到key已经是String格式了 而Value是Json格式
