当前位置: 代码迷 >> 综合 >> org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for comma
  详细解决方案

org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for comma

热度:1   发布时间:2024-02-21 18:55:00.0

在使用redission的分布式锁的时候,两台机器,其中一台遇到如下报错
org.redisson.client.RedisTimeoutException: Redis server response timeout (3000 ms) occured for comman

版本如下

 <groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.9.0</version>

分析:和服务器的机器环境有关系,一台是腾讯云机器(没有问题),另一台是内网机器,使用的redis是腾讯云的。所以内网机器连接redis,需要走外网ip。
解决:
设置1秒钟ping一次来维持连接
.setPingConnectionInterval(1000)

@Configuration
public class RedissonConfig {@Value("${spring.redis.host}")String redisHost;@Value("${spring.redis.port}")String redisPort;@Value("${spring.redis.password}")String redisPass;@Value("${spring.redis.database}")String database;@Beanpublic RedissonClient redissonClient() {Config config = new Config();config.useSingleServer() // 使用单机模式.setAddress("redis://" + redisHost + ":" + redisPort).setDatabase(Integer.parseInt(database)).setKeepAlive(true)// 设置1秒钟ping一次来维持连接.setPingConnectionInterval(1000).setPassword(redisPass);return Redisson.create(config);}
}
  相关解决方案