我正在嘗試將我的 go 應用程式連接到 heroku redis db。使用此代碼:
(使用“github.com/go-redis/redis/v8”)
opt, err := redis.ParseURL("redis://:PASSWORD@AWS-HOST:15670/0")
if err != nil {
panic(err)
}
rdb := redis.NewClient(opt)
usu := rdb.Get(ctx, userID)
但我收到了這個錯誤:
get 61d4bb472db95c17de8c: wsarecv: 一個現有的連接被遠程主機強行關閉。
Heroku 憑證
我感謝任何幫助!
uj5u.com熱心網友回復:
嘗試RDB關閉持久性。如果您仍然收到相同的錯誤,則意味著 Heroku 存在問題。
RDB 需要經常 fork() 以便使用子行程在磁盤上持久化。如果資料集很大,fork() 可能會很耗時,如果資料集很大并且 CPU 性能不是很好,可能會導致 Redis 停止為客戶端服務幾毫秒甚至一秒。
為了更好地理解,請參閱此鏈接:https : //redis.io/topics/persistence
確保為連接創建一個實體并在任何地方使用它,它是執行緒安全的。
還要確保:
TCP keepalive 已啟用 -> 它將防止意外的連接關閉事件。
你可以參考這個鏈接:https : //redis.io/topics/clients
增加opt.MaxRetries.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409661.html
標籤:
上一篇:如何傳遞引數來運行測驗代碼
