一、Maven依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

二、配置文件

Redis中有16库默认连接是0,假设公司有多个不同分布式项目,但是我们现在只有一个Redis以项目方式区分不同的库。每个项目连接是相同,但是库不同。SpringBoot可以通过配置yml的方式来修改保存到哪一个库中:

spring:
redis:
database: 0 #Redis中默认有16个库,此处配置使用第0个库
host: 132.232.44.194
port: 6379
password: 123456
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
timeout: 10000

三、Service

@Component
public class RedisService { @Autowired
private StringRedisTemplate stringRedisTemplate; public void set(String key, Object object, Long time) {
// 存放String 类型
if (object instanceof String) {
setString(key, object);
}
// 存放 set类型
if (object instanceof Set) {
setSet(key, object);
}
// 设置有效期 以秒为单位
stringRedisTemplate.expire(key, time, TimeUnit.SECONDS);
} public void setString(String key, Object object) {
// 如果是String 类型
String value = (String) object;
stringRedisTemplate.opsForValue().set(key, value);
} public void setSet(String key, Object object) {
Set<String> value = (Set<String>) object;
for (String oj : value) {
stringRedisTemplate.opsForSet().add(key, oj);
}
} public String getString(String key) {
return stringRedisTemplate.opsForValue().get(key);
} }

四、Controller

@RestController
public class IndexControler { @Autowired
private RedisService redisService; @RequestMapping("/setString")
public String setString(String key, String value) {
redisService.set(key, value, 60l);
return "success";
} @RequestMapping("/getString")
public String getString(String key) {
return redisService.getString(key);
} @RequestMapping("/setSet")
public String setSet() {
Set<String> set = new HashSet<String>();
set.add("zhangsan");
set.add("lisi");
redisService.setSet("setTest", set);
return "success";
}
}
04-01 23:50