首先,让我告诉你如何在我的NodeJS应用程序中使用Redis连接:
- 我使用单例类在整个应用程序中重复使用一个连接。
class RDB {
static async getClient() {
if (this.client) {
return this.client
}
let startTime = Date.now();
this.client = createClient({
url: config.redis.uri
});
await this.client.connect();
return this.client;
}
}
我不知道原因,但是我的应用偶尔会崩溃,并给出没有任何原因的错误消息 - 这种情况大约每周发生一到两次:
Error: Socket closed unexpectedly
现在,我的问题:
- 像这样使用Redis连接是否正确?我的方法有什么问题吗?
- 为什么会发生这种情况?为什么我的套接字会意外关闭?
- 是否有一种方式可以捕获这个错误(使用我的方法),或者还有其他好的实现Redis连接的做法吗?