为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Go redis 客户端 (Redigo)

使用 Go redis 客户端 (Redigo)

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

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

应用程序必须调用 Receive 来清除来自服务器的响应并检查错误。如果应用程序不是流水线命令,那么最好调用 Do。Do 结合了发送、刷新和接收。


如果你不关心错误,那么启动一个 goroutine 来读取响应:


go func(c redis.Conn) {

   for c.Err() == nil {

       c.Receive()

   }

}()


查看完整回答
反对 回复 2021-10-11
  • 1 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信