Google Cloud Run Redis客户端失去与实例的连接

问题描述

我将Google Cloud Run与Google Memorystore Redis一起使用。 我的应用程序是用Node.js(Express)编写的,并通过以下方式连接到Redis实例:

const asyncRedis = require("async-redis");
const redisClient = asyncRedis.createClient(process.env.REDISPORT,String(process.env.REDISHOST));
redisClient.on('error',(err) => console.error('ERR:REDIS:',err));
.....
const value = await redisClient.get("Code");

应用程序每半小时就会失去与Redis的连接,我会收到错误消息:

AbortError: Redis connection lost and command aborted. It might have been processed.
at RedisClient.flush_and_error (/usr/src/app/node_modules/redis/index.js:362)
at RedisClient.connection_gone (/usr/src/app/node_modules/redis/index.js:664)
at RedisClient.on_error (/usr/src/app/node_modules/redis/index.js:410)
at Socket.<anonymous> (/usr/src/app/node_modules/redis/index.js:279)
at Socket.emit (events.js:315)
at emitErrorNT (internal/streams/destroy.js:92)
at emitErrorAndCloseNT (internal/streams/destroy.js:60)
at processTicksAndRejections (internal/process/task_queues.js:84)

两到三分钟后,连接恢复,并且应用程序在半小时内正常工作,直到下一次断开连接为止。

有什么主意吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)