一、pom.xml 添加 maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
二、application.yml 添加 Redis 集群配置
spring:
application:
name: galaxy
redis:
cluster:
nodes: 192.168.18.132:6789,192.168.18.132:6790,192.168.18.132:6791,192.168.18.132:6792,192.168.18.132:6793,192.168.18.132:6794
# Redis数据库索引(默认为0)
database: 0
jedis:
pool:
# 连接池最大连接数(使用负值表示没有限制)
max-active: 300
# 连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1
# 连接池中的最大空闲连接
max-idle: 100
# 连接池中的最小空闲连接
min-idle: 20
# 连接超时时间(毫秒)
timeout: 60000
SpringBoot 启动时会加载 YAML 文件中的 Redis 集群配置,并初始化 StringRedisTemplate 的实例。在业务代码中使用 @Autowire 注解引入 StringRedisTemplate 的实例对 Redis 集群进行操作。
三、SpringBoot 集成 Redis 客户端代理类操作集群
@Autowired
private StringRedisTemplate redisTemplate;
@ApiOperation(value="集群set", notes="集群set")
@RequestMapping(value="/insertRedis", method=RequestMethod.POST)
public String insertRedis(@RequestParam String key, @RequestParam String value) {
logger.info("处理内容:{}", key + "," + value);
redisTemplate.opsForValue().set(key, value);
logger.info("处理完成");
return "SUCCESS";
}
@ApiOperation(value="集群查询", notes="集群查询", produces="application/json")
@RequestMapping(value="/queryRedis", produces={ MediaType.APPLICATION_JSON_UTF8_VALUE }, consumes={ MediaType.APPLICATION_JSON_UTF8_VALUE }, method=RequestMethod.POST)
public String queryRedis(@RequestBody String key) {
logger.info("处理内容:{}", key);
String result = redisTemplate.opsForValue().get(key);
logger.info("查询结果:{}", result);
return result;
}
上述代码演示了基本的 Redis set/get操作。
RedisUtils
StringRedisTemplate
类中提供了丰富的 Redis 操作接口,常用的接口有判断键值是否存在、expire 过期时间的设置和获取、面向不同数据类型的操作接口集等。根据操作对象的不同,接口集划分为以下几类:
每个接口集支持哪些操作,感兴趣的读者可以自行查阅。这里贴出 opsForSet() 所支持的接口列表:
opsForSet() 接口列表
网友评论