我正在使用 GO redis 客戶端 redigo 將圖像寫入 ~20 個 redis 服務(wù)器。速度在這里是一個重要因素,我只是向 redis 發(fā)送設(shè)置命令,所以我使用 Send 和 Flush 而不調(diào)用 Receive。幾個小時后,我在客戶端上收到“對等連接重置”。我想知道,這與我不打電話給 Receive 的事實有關(guān)嗎?也許我的 RX 隊列剛剛達到其最大容量,因為我沒有用 Receive 清空它?謝謝你。
1 回答

拉風(fēng)的咖菲貓
TA貢獻1995條經(jīng)驗 獲得超2個贊
應(yīng)用程序必須調(diào)用 Receive 來清除來自服務(wù)器的響應(yīng)并檢查錯誤。如果應(yīng)用程序不是流水線命令,那么最好調(diào)用 Do。Do 結(jié)合了發(fā)送、刷新和接收。
如果你不關(guān)心錯誤,那么啟動一個 goroutine 來讀取響應(yīng):
go func(c redis.Conn) {
for c.Err() == nil {
c.Receive()
}
}()
- 1 回答
- 0 關(guān)注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消