一种是配置文件 推荐
一种是配置类
两种方法 取一种即可。推荐配置文件。
逻辑代码不用动,直接修改配置文件就可以了。
配置文件
server:
port: 8082 # 端口
spring:
application:
name: ms-oauth2-server # 应用名
# 数据库
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://127.0.0.1:3306/db_imooc?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true
# Redis
redis:
# 启用哨兵模式以后无需直接连接 Redis,通过哨兵可以获得主从信息
#port: 6379
#host: 192.168.10.101
timeout: 3000 # 连接超时时间
password: 123456 # Redis 服务器密码
#database: 1
# lettuce 连接池
lettuce:
pool:
max-active: 8 # 最大连接数,默认 8
max-idle: 8 # 最大空闲连接,默认 8
min-idle: 0 # 最小空闲连接,默认 0
max-wait: 1000 # 最大连接阻塞等待时间,单位毫秒,默认 -1
# 哨兵
#sentinel:
# 主节点名称
#master: mymaster
# 主从服务器地址
#nodes: 192.168.10.101:26379,192.168.10.102:26379,192.168.10.103:26379
# 集群
cluster:
nodes: 192.168.10.101:6371,192.168.10.101:6372,192.168.10.102:6373,192.168.10.102:6374,192.168.10.103:6375,192.168.10.103:6376
max-redirects: 5 # Redis 命令执行时最多转发次数
配置类
package com.imooc.oauth2.server.config;
import org.springframework.data.redis.connection.RedisClusterConfiguration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisNode;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class RedisTemplateConfiguration {
/**
* Lettuce 配置 Cluster
*/
// @Bean
public RedisConnectionFactory lettuceConnectionFactory() {
RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration();
// 节点
List<RedisNode> redisNodeList = new ArrayList<>();
redisNodeList.add(new RedisNode("192.168.10.101", 6371));
redisNodeList.add(new RedisNode("192.168.10.101", 6372));
redisNodeList.add(new RedisNode("192.168.10.102", 6373));
redisNodeList.add(new RedisNode("192.168.10.102", 6374));
redisNodeList.add(new RedisNode("192.168.10.103", 6375));
redisNodeList.add(new RedisNode("192.168.10.104", 6376));
clusterConfiguration.setClusterNodes(redisNodeList);
// Redis 命令执行时最多转发次数
clusterConfiguration.setMaxRedirects(5);
// 密码
clusterConfiguration.setPassword("123456");
return new LettuceConnectionFactory(clusterConfiguration);
}
}