FreeRedis icon indicating copy to clipboard operation
FreeRedis copied to clipboard

间歇性出现由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。.

Open BenLocal opened this issue 3 years ago • 5 comments

后台循环执行XReadGroup,会间歇性出现以下错误: 【127.0.0.1:6379/0】Unable to read data from the transport connection: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。.

调用方式:

while (!token.IsCancellationRequested)
{
      _redis.XReadGroup(consumerGroup, consumerGroup, _options.StreamEntriesCount,
                        pollDelay.Ticks, false, streams.ToDictionary(x => x, y => ">"));
}

其中pollDelay.Ticks是10000000,redis版本是6.2.4

QQ截图20210829163340

BenLocal avatar Aug 29 '21 08:08 BenLocal

时间改短一点,要小于 10 秒最好

2881099 avatar Aug 30 '21 09:08 2881099

一样的问题,时间改短一点是什么意思?

ming2882 avatar Feb 16 '22 12:02 ming2882

ReciveTimeout 默认值是10秒,就是说如果命令发送出去等待数据,超过了10秒都无返回响应,就会报这个错误。

所以阻塞的命令超时参数,尽量不要大于该值

2881099 avatar Feb 17 '22 06:02 2881099

会造成程序停10秒,就是用户要等待10秒,如果用户在线多,系统雪崩,本人遇上了

ming2882 avatar Jun 12 '22 14:06 ming2882

会造成程序停10秒,就是用户要等待10秒,如果用户在线多,系统雪崩,本人遇上了

什么场景,描述一下,关键代码贴上

2881099 avatar Jun 12 '22 14:06 2881099