问题描述
我在 google 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')
解决方法
使用“setInterval”函数每分钟调用一次Redis操作。
async function RedisKA() {
client.get("key2",(err,reply) => {
console.log(`${kaCount} redis keep `);
});
}
let updateIntervalId = setInterval(RedisKA,60000);
如果您想避免 Cloud Run side 上的请求超时(默认为 5 分钟),请根据您的要求设置您的值。
,该问题可能是由于套接字超时引起的。预计在一段时间内没有活动时会发生这种情况。
这可以通过定期在连接上执行任何命令来避免,例如每分钟一个命令,因此它会保持套接字活动并且不会中止连接。