配置文件
spring:
redis:
# Redis数据库索引(默认为0)
database: 0
# Redis服务器地址
host: 192.168.133.128
# Redis服务器连接端口
port: 6379
# Redis服务器连接密码(默认为空)
password: redis
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 连接池中的最大空闲连接
max-idle: 8
# 连接池中的最小空闲连接
min-idle: 0
# 连接超时时间(毫秒)
timeout: 10000
redis工具类
@Component
public class RedisUtils {
@Autowired
private StringRedisTemplate stringRedisTemplate;
public void set(String key, Object object, Long time) {
// 让该方法能够支持多种数据类型存放
if (object instanceof String) {
setString(key, object);
}
// 如果存放时Set类型
if (object instanceof Set) {
setSet(key, object);
}
// 设置有效期
if (time != null) {
stringRedisTemplate.expire(key, time, TimeUnit.SECONDS);
}
}
public void setString(String key, Object object) {
String value = (String) object;
// 存放string类型
stringRedisTemplate.opsForValue().set(key, value);
}
public void setSet(String key, Object object) {
Set<String> valueSet = (Set<String>) object;
for (String string : valueSet) {
stringRedisTemplate.opsForSet().add(key, string);
}
}
public String getString(String key) {
return stringRedisTemplate.opsForValue().get(key);
}
}
测试
@RestController
public class RedisController {
@Autowired
private RedisUtils redisUtils;
@GetMapping("test-set-string")
public String testSetString(String key, String value) {
redisUtils.set(key, value,60L);
return "success set string";
}
@GetMapping("test-get-string")
public String testGetString(String key) {
return redisUtils.getString(key);
}
}
代码:springboot-redis