Lettuce 实战之连接超时问题

news/2024/10/16 2:29:20

问题

使用lettuce作为redis连接池,在访问redis时,偶尔会抛出RedisCommandTimeoutException,但隔一会儿又好了。

为什么lettuce有自动重连机制,却还是会出现连接超时的问题?为什么lettuce在连接断掉后,没有立即重连,而是需要等待十多分钟才重新连接?

在lettuce client和redis server之间创建TCP连接后,由于网络等原因导致TCP连接中断后,lettuce client等待TCP连接进行重试,直到重试完成后还是无法成功才创建新的连接。重试次数与操作系统配置有关。

根据下述图表,在重试15次时,超时时间约为13.4分钟,这就是为什么lettuce的自动重连,会等待十多分钟才进行重连。

重传机制参考 https://pracucci.com/linux-tcp-rto-min-max-and-tcp-retries2.html

查看TCP重试次数配置

cat /proc/sys/net/ipv4/tcp_retries2

解决方法

  • 一是调低操作系统中TCP重试的次数,例如5次,这样在连接断掉后,等待几秒钟就会立即重联。
  • 二是在获取redis connection时,验证该连接是否可用,不可用则创建一个新的连接返回,配置如下
LettuceConnectionFactory factory = new LettuceConnectionFactory();
factory.setValidateConnection(true);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26394.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

开源医疗大模型排行榜: 健康领域大模型基准测试

多年来,大型语言模型 (LLMs) 已经发展成为一项具有巨大潜力,能够彻底改变医疗行业各个方面的开创性技术。这些模型,如 GPT-3,GPT-4 和 Med-PaLM 2,在理解和生成类人文本方面表现出了卓越的能力,使它们成为处理复杂医疗任务和改善病人护理的宝贵工具。它们在多种医疗应用中…

一个用Python将视频变为表情包的工具

这是一个将视频转变为表情包的工具,现实生活中当我们看到一段搞笑的视频,我们可以将这段视频喂给这段程序,生成gif表情包,这样就可以用来舍友斗图了 1、一些限制 1、这个程序不能转化超过15秒以上的视频,因为占用的内存较高,会被终端杀死(除非你的计算机性能很好,也许1…

SpringBoot2.x整合Redis Sentinel

redis sentinel搭建之后,在spring-boot项目中集成。 配置 在pom.xml文件中添加如下依赖配置(这里spring-boot版本2.2.5),这个版本中,默认使用lettuce作为redis连接池。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spri…

PLC程序中的配方应用

建立ARRAYDB集合配方需要的所有元素结构,组成一个UDT(包含范围最全) 新建一组ARRAY DB,元素的个数就是配方需要的副本的个数 数组DB勾选仅存储在装载内存中,以便数据量大的配方不占用数据工作存储器空间,节省资源 在ARRAY DB的起始值处填写配方的具体值 1200不支持ARRAY …

Redis 高可用之主从哨兵集群实战

搭建集群 架构规划为一个主库节点,一个从库节点,三个哨兵节点,其中主从库节点内存配置需保持一致,哨兵节点对配置要求较低,可配置在主从节点上。 搭建主库 主从库节点内存配置需保持一致,主从库连接密码保持一致。主库不进行任何持久化配置,交给从库完成。 编写配置文件…

Juummmmppingg!

You jump,I jump.To jump,or not to jump,that is the question.灵感来源是无聊的时候自己和自己玩的数学小游戏 初始版本 给定了从1到50这50个正整数, 正直善良的勇者啊,请选定起始方块(这也算访问一次,但不计入跳跃数量( (我都乱写了你就让让我吧), 然后在这些方块上…

测试与发布

目录测试报告一、bug的发现与解决二、场景测试(scenario testing)发布说明一、功能说明二、对运行环境的要求三、安装方法四、已知的限制和缺陷五、发布方式和发布地址 测试报告 一、bug的发现与解决1.在测试过程中总共发现了多少Bug?每个类别的Bug分别为多少个? 答:共发现…

Trusted Types API

Trusted Types API: 锁定 DOM API 的不安全部分,以防止客户端跨站脚本(XSS)攻击untrusted<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-wi…