原创

SpringBoot 系列教程(三十二):SpringBoot集成Redis缓存

版权声明: 本文为博主原创文章,转载请注明原文出处!
本文链接:https://thinkingcao.blog.csdn.net/article/details/87804409

这篇文章主要介绍springboot整合redis,如果你还不了解redis,可以看下这篇文章:Redis入门配置

开发工具

 1. Apache-Maven-3.5.0、IntelliJ IDEA 2018.2.3 x64、JDK1.8、redis-desktop-manager-0.9.8.1156,当然你用Eclipse也一样

一、新建SpringBoot项目,项目名springboot-redis

1.SpringBoot集成Redis需要引入Redis依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

2.项目所需要的所有依赖信息,pom.xml

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.thinkingcao</groupId>
    <artifactId>springboot-redis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot-redis</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

3.体贴一下我的完整项目包、结构图

二、新建配置文件配置application.properties,配置Redis连接信息

1.application.properties,配置连接Redis数据库相关属性

# REDIS (RedisProperties)
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
#spring.redis.password=
# Redis数据库索引(默认为0)
spring.redis.database=0
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.jedis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制
spring.redis.jedis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.jedis.pool.max-idle=500
# 连接池中的最小空闲连接
spring.redis.jedis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=5000

 

三、新建数据访问层数据RedisDao

  1.通过注入StringRedisTemplate来访问、操作Redis.

package com.thinkingcao.springbootredis.dao;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Repository;

import java.util.concurrent.TimeUnit;

/**
 * <pre>
 * redisDao
 * @auther: cao_wencao
 * @date: 2019/2/20 16:07
 * </pre>
 */
@Repository
public class RedisDao {

    @Autowired
    private StringRedisTemplate template;

    public  void setKey(String key,String value){
        ValueOperations<String, String> ops = template.opsForValue();
        ops.set(key,value,1, TimeUnit.MINUTES);//1分钟过期
    }

    public String getValue(String key){
        ValueOperations<String, String> ops = this.template.opsForValue();
        return ops.get(key);
    }
}

四、编写单元测试,测试集成Redis是否成功

1.切记 运行单元测试前先要开启本地RedisServer服务,否则无法链接Redis库,运行报错,关于如何配置Redis本地服务请另行百度:windows下安装配置Redis

 Redis服务开启成功:

 

2.登录RedisDesktopManager连接本地配置的Redis,RedisDesktopManager下载:https://redisdesktop.com/download

 (1)、 此时Redis服务器没有任何数据,因为还没有插入数据到db库

 

3. 编写单元测试代码,测试集成Redis效果

(1)、SpringbootRedisApplicationTests 单元测试代码

package com.thinkingcao.springbootredis;

import com.thinkingcao.springbootredis.dao.RedisDao;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class SpringbootRedisApplicationTests {

    @Test
    public void contextLoads() {
    }


    @Autowired
    RedisDao redisDao;
    @Test
    public void testRedis(){
        redisDao.setKey("name","Thinkingcao");
        redisDao.setKey("age","18");
        log.info(redisDao.getValue("name"));
        log.info(redisDao.getValue("age"));
    }
}

4、运行SpringBoot单元测试,发现控制台打印日志 : Thinkingcao   18

5、使用RedisDesktopManager客户端,查看数据是否插进Redis库,我们配置的是db0这个库

 

五、完整项目结构截图

 

参考资料

https://spring.io/guides/gs/messaging-redis/

整合Redis

 

 

 

文章最后发布于: 2019-02-20 16:32:08
展开阅读全文
0 个人打赏
私信求帮助

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览