我正在使用GO redis客户端redigo为~20个redis服务器编写图像。
速度是这里的一个重要因素,我只是向redis发送set命令,所以我使用发送和刷新,而不调用接收。
几个小时后,我在客户端上得到了“由对等者重置连接”。
我在想,这和我不打电话收件的事实有关吗?
也许我的RX队列只是达到了它的最大容量,因为我没有用接收来清空它?
谢谢。
发布于 2015-06-04 23:23:25
应用程序必须调用接收以清除来自服务器的响应并检查错误。如果应用程序不是管道命令,那么最好调用Do。将发送、冲洗和接收结合在一起。
如果您不关心错误,那么启动一个goroutine来读取响应:
go func(c redis.Conn) {
for c.Err() == nil {
c.Receive()
}
}()https://stackoverflow.com/questions/30655426
复制相似问题