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格式

经验分享 程序员 微信小程序 职场和发展