如何解决 wsarecv 连接错误? Golang / Heroku Redis
How to solve the wsarecv connection error? Golang / Heroku redis
我正在尝试将我的 go 应用程序连接到 heroku redis 数据库。使用此代码:
(使用“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: An existing connection was
forcibly closed by the remote host.
HEROKU CREDENTIALS
感谢您的帮助!
尝试关闭 RDB
持久性。如果您仍然遇到相同的错误,则表示 Heroku 存在问题。
RDB 需要经常 fork() 以便使用子进程持久保存在磁盘上。
如果数据集很大,fork() 可能会很耗时,并且可能导致 Redis
停止服务客户几毫秒甚至一秒钟,如果
数据集很大,CPU 性能不佳。
为了更好地理解,请参阅此 link:https://redis.io/topics/persistence
请确保,您为连接创建一个实例并在所有地方使用它,它是线程安全的。
还要确保:
启用 TCP keepalive -> 它将防止意外的连接关闭事件。
你可以参考这个 link : https://redis.io/topics/clients
增加 opt.MaxRetries
.
我正在尝试将我的 go 应用程序连接到 heroku redis 数据库。使用此代码:
(使用“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: An existing connection was forcibly closed by the remote host.
HEROKU CREDENTIALS
感谢您的帮助!
尝试关闭 RDB
持久性。如果您仍然遇到相同的错误,则表示 Heroku 存在问题。
RDB 需要经常 fork() 以便使用子进程持久保存在磁盘上。 如果数据集很大,fork() 可能会很耗时,并且可能导致 Redis 停止服务客户几毫秒甚至一秒钟,如果 数据集很大,CPU 性能不佳。
为了更好地理解,请参阅此 link:https://redis.io/topics/persistence
请确保,您为连接创建一个实例并在所有地方使用它,它是线程安全的。
还要确保:
启用 TCP keepalive -> 它将防止意外的连接关闭事件。
你可以参考这个 link : https://redis.io/topics/clients
增加 opt.MaxRetries
.