客户端在连接redis推送一次数据成功后,第二次使用相同tcp端口推送时,会发送RST重置。
redis中有参数可以设置,避免这种现象吗?
第一次正常推送数据:
第二次推送数据reset:
个人推测是因为 redis 的超时时间与服务器的超时时间不一致导致:
服务器tcp超时时间,通过该命令查看为 60 s
sysctl -a | grep net.ipv4.tcp_fin_timeout
redis设置的tcp超时时间及keepalive时间,默认为 300 s
上图我把 tcp-keepalive 调整到了 60 ,实际中还是会出现 RST 包,下周生产上线时,我再更新 timeout 参数,看看是否能修复。