lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s) timeout 60000超时问题

news/2024/11/6 11:31:24/

有一台服务器 java程序不定期会出现Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s) 错误,导致应用出现 timeout 60000 错误,重启应用后,问题修复,但还是会不定期出现该问题。查看应用日志,发现有如下错误:

Redis command timed out; nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out after 1 minute(s)
出现timeout 60000问题时,登录服务器,telnet 到redis服务器时,显示连接正常,并且使用相同redis服务器的其他应用也是正常,因此可以排除是redis服务器问题。
在redis服务器以及故障服务器上同时运行以下命令,查看链接情况

netstat -anp|grep 6379

Redis服务器:
存在redis客户端链接,但没有从故障服务器IP过来的链接。
在这里插入图片描述
故障服务器:
存在到redis服务器的链接。
故障服务器存在redis链接
说明客户端的redis连接已经死了,该客户端服务器是托管在本地一家机房,已nat模式连接的网络,该机房有多个出口IP作为负载均衡,当出口IP发生变化时,由于客户端程序使用的lettuce没有心跳检测,导致出口IP变化后,原链接失败,但程序并不知道链接已死,还是使用原链接,从而导致time 60000错误。
解决方案也很简单,将lettuce换成jedis,因为jedis有心跳检测, 或者与机房协调,保证改服务器出口IP不要变动。


http://www.ppmy.cn/news/601596.html

相关文章

记录一次线上事故:GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0

前几天同事说项目出问题了,请求一直报错,我看了下服务器日志,发现服务器一直报错Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 20, maxActive 20, creating 0 大致意思是druid的连接数&…

【完美解决】- 使用JavaApI 连接查询HBASE 出现 java.net.SocketTimeoutException: callTimeout=60000

1.报错 org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts36, exceptions:Tue May 28 08:16:11 CST 2019, null, java.net.SocketTimeoutException: callTimeout60000, callDuration63316: cm5 row stu01,, on table hbase:meta at regionhb…

mysql快速插入60000条数据

学习mysql 快速插入60000条数据,表字段(id,name,nicheng)主键id自增情况 昨天刚刚学习到的有一种写法: delimiter \ drop procedure if exists proc_if; CREATE PROCEDURE proc_if () BEGIN declare i int default 0; lp1 : LOOP //定义循环体…

使用springboot+easyExcel+MySQL读取并储存,60000+条数据

使用springbootmybatisPluseasyExcelMySQL读取并储存,60000条数据,15秒 闲话少说,直接开摆,记录一下最近用到的知识。 测试耗时(ms)读取6万条数据储存到MySQL,连续测试了五次,综合…

【数据结构OJ题】移除链表元素

移除链表元素 原题链接:力扣 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回新的头节点 。 方法一:原地删除节点 思路: 首先,定义两个指针&#xff1…

vue3.0 + elementUI 弹窗二次封装

使用组件&#xff1a; <page-dialog v-model:dialogShow"gisLock" footerCustom>{{gisLock}}</page-dialog><page-dialog v-model:dialogShow"gisLock">{{gisLock}}<template #dialog-button><el-button type"primary&quo…

对新手来说,一句 Hello World 能有多少坑?

入门教程、案例源码、学习资料、读者群 请访问&#xff1a;python666.cn 大家好&#xff0c;欢迎来到 Crossin的编程教室 &#xff01; 在编程届&#xff0c;有一个不成文的习惯&#xff1a;在教授/学习一门新语言时&#xff0c;会以输出“Hello World”作为第一个代码实例。 因…

javascript网站背景音乐

∶∶网站背景音乐∶∶ [怎么添加背景音乐]&#xff1a;将这段代码插入到您的<首页布告>内容中&#xff0c;当您打开网站时即可听到背景音乐&#xff1a; <bgsound src/textbook/matter/music/china.mid loop"-1"> [怎么换成自己喜欢的音乐]&#xff1a;…