From 2cae924e584ba47c85d8f23d296c9c0738d3d9d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E5=80=A1?= Date: Thu, 17 Jul 2025 13:41:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Redis=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=8C=E6=94=AF=E6=8C=81=E9=9B=86=E7=BE=A4?= =?UTF-8?q?=E3=80=81=E5=93=A8=E5=85=B5=E5=92=8C=E5=8D=95=E6=9C=BA=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=EF=BC=8C=E5=90=8C=E6=97=B6=E7=A7=BB=E9=99=A4=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E7=9A=84=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/config/RedisLettuceConfig.java | 26 ++++++++++++++++--- .../src/main/resources/application-common.yml | 20 ++------------ 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/RedisLettuceConfig.java b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/RedisLettuceConfig.java index fe6f043..58d4995 100644 --- a/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/RedisLettuceConfig.java +++ b/uboot-common/src/main/java/com/chinaunicom/mall/ebtp/common/config/RedisLettuceConfig.java @@ -15,8 +15,10 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.connection.RedisClusterConfiguration; import org.springframework.data.redis.connection.RedisNode; import org.springframework.data.redis.connection.RedisSentinelConfiguration; +import org.springframework.data.redis.connection.RedisStandaloneConfiguration; import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory; import org.springframework.data.redis.core.RedisOperations; import org.springframework.data.redis.core.RedisTemplate; @@ -69,10 +71,26 @@ public class RedisLettuceConfig { } private LettuceConnectionFactory getLettuceConnectionFactory(Integer db) { - LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory(this.sentinelConfig()); - lettuceConnectionFactory.setDatabase(db); - lettuceConnectionFactory.afterPropertiesSet(); - return lettuceConnectionFactory; + LettuceConnectionFactory factory; + if (redisProperties.getCluster() != null && redisProperties.getCluster().getNodes() != null && !redisProperties.getCluster().getNodes().isEmpty()) { + // 集群模式 + RedisClusterConfiguration clusterConfig = new RedisClusterConfiguration(redisProperties.getCluster().getNodes()); + clusterConfig.setPassword(redisProperties.getPassword()); + factory = new LettuceConnectionFactory(clusterConfig); + } else if (redisProperties.getSentinel() != null && redisProperties.getSentinel().getNodes() != null && !redisProperties.getSentinel().getNodes().isEmpty()) { + // 哨兵模式 + factory = new LettuceConnectionFactory(this.sentinelConfig()); + } else { + // 单机模式 + RedisStandaloneConfiguration standaloneConfig = new RedisStandaloneConfiguration(); + standaloneConfig.setHostName(redisProperties.getHost()); + standaloneConfig.setPort(redisProperties.getPort()); + standaloneConfig.setPassword(redisProperties.getPassword()); + factory = new LettuceConnectionFactory(standaloneConfig); + } + factory.setDatabase(db); + factory.afterPropertiesSet(); + return factory; } private RedisSentinelConfiguration sentinelConfig() { diff --git a/uboot-common/src/main/resources/application-common.yml b/uboot-common/src/main/resources/application-common.yml index fa6c82a..fe3ab36 100644 --- a/uboot-common/src/main/resources/application-common.yml +++ b/uboot-common/src/main/resources/application-common.yml @@ -75,24 +75,6 @@ spring: sasl.mechanism: SCRAM-SHA-256 sasl.jaas.config: org.apache.kafka.common.security.scram.ScramLoginModule required username="jltest" password="Unicom#123"; - # 天宫 redis 需要使用哨兵进行访问 - redis: - sentinel: - master: eshop-redis - nodes: 10.125.164.124:32718, 10.125.164.118:32716, 10.125.164.121:32716 - password: Unicom#135 - -# 天宫Eureka配置 -eureka: - client: - service-url: - defaultZone: http://10.242.37.148:5001/eureka - instance: - prefer-ip-address: true - ip-address: 125.32.114.204 - hostname: 125.32.114.204 - instance-ip: 125.32.114.204:${server.port} - mybatis-plus: configuration: # 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射 @@ -123,6 +105,8 @@ hystrix: forceClosed: true ribbon: + eureka: + enabled: false ReadTimeout: 20000 #请求处理的超时时间 ConnectTimeout: 20000 #请求连接超时时间 MaxAutoRetries: 0 #对当前实例的重试次数