google云运行redis客户端与示例失去连接

dly7yett  于 2021-06-08  发布在  Redis
关注(0)|答案(1)|浏览(692)

我使用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)

两到三分钟后,连接就会恢复,应用程序会在半小时内正常工作,直到下一次断开连接。
你知道吗?

9q78igpj

9q78igpj1#

根据官方gcp文档,可能有几种情况会导致redis示例的连接问题。但是,由于您遇到的连接问题是间歇性的,并且通常您成功地连接到示例,因此上述场景似乎都不适用于您的情况。
github上也出现了类似的问题,有些用户在达到redis示例的最大客户端数时遇到了这个问题,但是我建议您联系gcp技术支持,这样他们就可以查看您的特定配置,并使用内部工具检查您的示例。

相关问题