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.csdn.net/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();
}
}