使用 Go redis 客户端 (Redigo)

我正在使用 GO redis 客户端 redigo 将图像写入 ~20 个 redis 服务器。
速度在这里是一个重要因素,我只是向 redis 发送设置命令,所以我使用 Send 和 Flush 而不调用 Receive。
几个小时后,我在客户端上收到“对等连接重置”。
我想知道,这与我不打电话给 Receive 的事实有关吗?
也许我的 RX 队列刚刚达到其最大容量,因为我没有用 Receive 清空它?

谢谢你。


慕斯709654
浏览 167回答 1
1回答

拉风的咖菲猫

应用程序必须调用 Receive 来清除来自服务器的响应并检查错误。如果应用程序不是流水线命令,那么最好调用 Do。Do 结合了发送、刷新和接收。如果你不关心错误,那么启动一个 goroutine 来读取响应:go func(c redis.Conn) {   for c.Err() == nil {       c.Receive()   }}()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go