1、pom.xml添加依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<!-- SpringBoot web 核心组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringBoot对Redis支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
</dependencies>
2、封装一个redisService类
// springboot 2.0 整合redis
@Component
public class RedisService {
@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);
}
}
3、controller层添加操作代码
@RestController
public class IndexController {
@Autowired
private RedisService redisService;
@RequestMapping("/setString")
public String setString(String key, String object) {
redisService.set(key, object, 60l);
return "success";
}
@RequestMapping("/get")
public String get(String key) {
return redisService.getString(key);
}
}
4、yml文件进行配置redis
spring:
redis:
database: 1
host: 192.168.37.110
port: 6379
password: 123
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
timeout: 10000
直接浏览器访问进行测试就可以了
http://localhost:8080/setString?key=linkui&object=123456
如果不行,可能是redis你安装的有问题,可以查看我这里安装步骤,看下是否有设置不对的地方
https://blog.youkuaiyun.com/jxpxlinkui/article/details/79639422
最后,redis集成事务操作
public void setString(String key, Object object) {
// 开启事务权限
stringRedisTemplate.setEnableTransactionSupport(true);
try {
// 开启事务 begin
stringRedisTemplate.multi();
String value = (String) object;
stringRedisTemplate.opsForValue().set(key, value);
System.out.println("存入完毕,马上开始提交redis事务");
// 提交事务
stringRedisTemplate.exec();
} catch (Exception e) {
// 需要回滚事务
stringRedisTemplate.discard();
}
}