场景:
项目启动过后 Redis 连接过一会就会断开,报如下问题:

问题1:

2022-12-05 23:05:18.287 ERROR 10752 --- [sson-netty-1-11] o.redisson.client.handler.CommandsQueue  :139 - Exception occured. Channel: [id: 0x7b1e0211, L:/xxx:60851 - R:/xxx:6379]java.io.IOException: 远程主机强迫关闭了一个现有的连接。at java.base/sun.nio.ch.SocketDispatcher.read0(Native Method)at java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276)at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233)at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223)at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358)at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:253)at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:350)at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:719)at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:655)at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:581)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)at java.base/java.lang.Thread.run(Thread.java:834)

问题2:

Redis server response timeout (3000 ms) occured for command: (EVAL) with params: [if (redis.call('exists', KEYS[1]) == 0) then redis.call('publish', KEYS[2], ARGV[1]); return 1; end;..., 2, a:TestParamDtoOne(id=null, code=, userName=, email=), redisson_lock__channel:{a:TestParamDtoOne(id=null, code=, userName=, email=)}, 0, 30000, 033aee3e-7de4-415f-b627-69b3d7e17566:119] channel: [id: 0x9700eaf4, L:/xxx:60842 - R:/xxx:6379]

问题3:

nested exception is io.lettuce.core.RedisCommandTimeoutException: Command timed out

一、解决

1、设置连接空闲超过 N(秒或毫秒)后关闭,0为禁用:redis.timeout: 60s(这里设置和tcp-keepalive的值一致)

2、设置 redis 服务端的配置文件 redis.conf 中 tcp-keepalive 的时间为60(单位秒)(TCP连接存活时间):tcp-keepalive 60

二、总结注意项

1、tcp-keepalive 超时时间默认是300,应该把这个存活时间改成小于或等于超时时间 redis.timeout

2、如果 tcp-keepalive 存活时间大于超时时间,存活时间还没有结束(连接还没关闭)就又创建新的连接,创建的连接多了就会远程主机强迫关闭现有连接

SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常相关推荐

  1. 关于Redis出现“java.io.IOException: 远程主机强迫关闭了一个现有的连接”的一次排查

    背景 最近在使用springboot(Windows下)连接redis(云服务器)开发时发现一些问题:连接成功的情况下,在一段时间未交互数据后,再次通过连接与Redis传输数据回出现异常java.io ...

  2. java.io.IOException: 远程主机强迫关闭了一个现有的连接。

    参考文档: (2条消息) 解决redis中java.io.IOException: 远程主机强迫关闭了一个现有的连接_zeal9s的博客-CSDN博客_redis远程主机强迫关闭了一个现有连接怎么解决 ...

  3. java.io.IOException: 远程主机强迫关闭了一个现有的连接

    摆脱烦恼最有效的是慢思考,为什么和我想的不一样,出入在哪里,什么导致的? 疑惑 我使用netty框架接受数据,每隔半个小时存储数据,运行不到三个小时报错 java.io.IOException: 远程 ...

  4. java强制关闭远程桌面_elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接...

    [2018-07-31T14:29:41,289][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [9rTGh-y] caught exc ...

  5. java nio 强制关闭_Java NIO服务器:远程主机强迫关闭了一个现有的连接

    Java NIO聊天室 中,若客户端强制关闭,服务器会报"java.io.IOException: 远程主机强迫关闭了一个现有的连接.",并且服务器会在报错后停止运行,错误的意思就 ...

  6. 远程计算机强迫关闭一个连接,远程主机强迫关闭了一个现有的连接。

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接. at org.ap ...

  7. es远程主机强迫关闭了一个现有的连接

    Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.     at sun.nio.ch.SocketDispatcher.read0(Native Me ...

  8. netty 远程主机强迫关闭了一个现有的连接。

    如果你的netty报这个错误 java.io.IOException: 远程主机强迫关闭了一个现有的连接. 或者 System.Net.Sockets.SocketException (0x80004 ...

  9. 循环报错: 远程主机强迫关闭了一个现有的连接

    客户端终止后,服务端一直循环 报java.io.IOException: 远程主机强迫关闭了一个现有的连接. 原始代码 private void read(SocketChannel channel, ...

最新文章

  1. java哈希_Java Hashtable 类
  2. CFileFind 遍历目录与子目录
  3. error: undefined reference to 'cv::_OutputArray::_OutputArray(std::__ndk1
  4. matlab多项式加法运算,matlab多项式运算与代数方程求解解析.ppt
  5. 风控人最容易被误解的一个风险管理板块
  6. 学习自媒体究竟要投入多少?
  7. 按头安利 好看又实用的建筑图标素材看这里
  8. java写入到excel表格乱码怎么办,数据库导出excel表格是乱码-java导出excel表格乱码!...
  9. 如何解决Mac电脑中的“AppStore无法下载软件”问题?
  10. QQ邮箱的POP3与SMTP服务器是什么?
  11. 学习WPF之解决方案和项目结构
  12. 没有 XXX 的手册页条目
  13. Luogu P2129 小Z的情书
  14. 【跨境电商】5个最佳WordPress插件推荐
  15. Pygame 官方文档 - pygame.cursors
  16. 概率论与数理统计_数理统计部分
  17. 完美的扎克伯格,倒霉的Facebook
  18. 世界电信和信息社会日 | TcaplusDB君节日介绍
  19. mysql line separator_java输出换行的标准姿势line.separator
  20. 修改DIV滚动条样式

热门文章

  1. 真腻害,阿里P8架构师手撸微服务架构探险pdf,成功登顶榜首
  2. 自定义公交LED电子路牌模拟器
  3. 403_交通数据综合分析实验
  4. 将数字类型字符转为中文类型字符
  5. 表单插件——form
  6. 如何恢复Pages,Numbers或Keynote文档密码
  7. 2021 有趣AI算法简介
  8. 云服务器哪个最好?这家口碑杠杠的!
  9. android:layout_marginRight代码实现View周围距离
  10. 驰为平板装Android,驰为VX8 3G Win8刷安卓固件教程