Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
1.新建一个springboot工程,在pom文件中加入Redis的起步依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.tuanzi</groupId>
<artifactId>springboot-redis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-redis</name>
<description>springboot整合Redis</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.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>
</project>
2.application.yml加入Redis的配置
spring:
redis:
# Redis服务器地址
host: 127.0.0.1
# Redis服务器连接密码(默认为空)
password:
# Redis服务器连接端口
port: 6379
# Redis数据库索引(默认为0)
database: 0
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 8
# 连接池中的最大空闲连接
max-idle: 500
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
3.数据操作层的RedisDao类通过@Repository注解来注入springIOC容器中,该类是通过RedisTemplate来访问Redis的。通过注入StringRedisTemplate的Ben来对Redis数据库中的字符串类型的数据进行操作。写了2个方法,包括Redis中设置string类型的数据和从Redis中读取string类型的数据
@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);
}
}
4.在测试类中注入RedisDao,通过RedisDao向Redis中设置2组字符串值,然后分别通过RedisDao从Redis中读取这两个值。
@Autowired
RedisDao redisDao;
@Test
public void testRedis(){
redisDao.setKey("name","团子");
redisDao.setKey("age","20");
logger.info(redisDao.getValue("name"));
logger.info(redisDao.getValue("age"));
}
5.运行程序,会看见控制台打印了这两个数据。
6.