- SpringBoot版本 2.4.3
- spring-boot-starter-data-redis版本2.4.5
一、导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、添加配置
<!-- 在application.yml中添加 -->
spring:
redis:
host: 127.0.0.1
port: 6379
jedis: #可省略不写
pool:
max-active: 8 #连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms #连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
min-idle: 0 #连接池中的最小空闲连接
timeout: 10000ms #连接超时时间(毫秒)
三、Redis的CURD
package cn.musp;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/**
* Redis工具
* @author: 琦森
* @date: 2021/04/09 0:34
* @Email: admin@musp.cn
*/
@Component
public class RedisUtils {
private RedisTemplate<Object,Object> redis;
/**
* 带过期时间的存入方法(键相同即是改)
* $params key 键
* $params value 值
* $params time 过期时间单位秒
* $return 状态
*/
public boolean set(String key,String value,long time){
try {
if (time > 0) {
redis.opsForValue().set(key, value, time, TimeUnit.SECONDS);
} else {
redis.opsForValue().set(key, value);
}
return true;
} catch (Exception e) {
return false;
}
}
/**
* 普通的存入方法(键相同即是改)
* $params key 键
* $params value 值
* $return 状态
*/
public boolean set(String key,String value){
try {
redis.opsForValue().set(key, value);
return true;
} catch (Exception e) {
return false;
}
}
/**
* 根据key查询值
* $params key 键
* $return 值
*/
public Object get(String key){
try {
return redis.opsForValue().get(key);
} catch (Exception e){
return null;
}
}
/**
* 根据value从一个set中查询,是否存在
* @param key 键
* @param value 值
* @return true 存在 false不存在
*/
public boolean stateKey(String key, String value) {
try {
return redis.opsForSet().isMember(key, value);
} catch (Exception e) {
return false;
}
}
/**
* 根据key删除
* $params key 删除的键
* $return 状态
*/
public boolean delete(String key){
try {
return redis.opsForHash().delete(key) != 0;
}catch (Exception e){
return false;
}
}
/**
* 获取key对应的过期时间
* $params key 键
* $return 过期时间 0为该键不存在
*/
public long findKeyOutTime(String key) {
try {
return redis.getExpire(key, TimeUnit.SECONDS);
} catch (Exception e){
return 0;
}
}
}
源代码分析
找到org.springframework.boot.autoconfigure.data.redis