0

我在谷歌 cloudrun 上运行我的 nodejs 应用程序。我的应用程序连接到 google memorystore redis。每隔几分钟就会出现以下错误

错误:读取连接重置

其次是

AbortError:Redis 连接丢失并且命令中止。它可能已被处理。

请帮助我错过了什么?

我的nodejs代码

const redis = require('redis')

const redisClient = redis.createClient({host:'xxx', port: 6379})
redisClient.on('error, function (err) {
console.log(err)
}

const data = await redisClient.getExAsync('key') 

4

2 回答 2

0

使用“setInterval”函数以每分钟调用一次 Redis 操作。

async function RedisKA() {
  client.get("key2", (err, reply) => {
    console.log(`${kaCount} redis keep `);
  });

}

let updateIntervalId = setInterval(RedisKA, 60000);

如果您想避免Cloud Run 端的请求超时(默认为 5 分钟),请根据您的要求设置您的值。

于 2021-02-25T01:19:36.937 回答
0

该问题可能是由于套接字超时引起的。预计在一段时间内没有活动时会发生这种情况。

这可以通过定期在连接上执行任何命令来避免,例如每分钟一个命令,因此它将保持套接字处于活动状态并且不会中止连接。

于 2021-03-03T20:45:40.843 回答