• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    redis间歇性断连解决方式

    发布者: 山止川行 | 发布时间: 2025-6-19 12:41| 查看数: 63| 评论数: 0|帖子模式

    使用lettuce 4.2.2.Fina版本作为redis的客户端,出现间歇性断连的情况,主要表现形式:
    1、长时间连接不被使用,突然有请求过来后出现大面积的。
    2、使用过程中也偶现RedisCommandTimeoutException。

    尝试解决办法:


    一、开启lettuce连接检查

    开启连接池的连接检查功能,定义LettuceConnectionFactory的bean时增加设置对应的validateConnection属性值为true,在每次使用链接前都增加一次ping的操作,如果ping不通代表当前连接已经不可用,再重新初始化连接。但是开启该功能会有较大的性能消耗,目前所做的性能压测结果来看,平均耗时是不开启检查时的7倍以上,详情见下图,这样的性能消耗确实无法接受。


    二、客户端主动增加心跳功能

    客户端新增定时任务,定时检查连接状态,比如每1s中检查一次,或者每2s检查一次,程序启动时便开始执行心跳任务,具体方式:如图:

    存在的问题:
    1、通过开启连接池的连接检查功能,能保证每一次拿到可用的连接,但是性能损耗过大;
    2、通过增加心跳功能能够解决长时间连接不使用被断开的问题,但是仍然存在心跳间隙期间无法获取到可用连接的情况,无法做到100%拿到可用连接。
    到此这篇关于redis间歇性断连解决方式的文章就介绍到这了,更多相关redis间歇性断连内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/database/3371045dn.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表