我尝试在Azure函数中连接到Redis,但是我遇到了超时问题,但相同的代码在普通JS中运行良好。在Azure函数中连接Redis的理想方式是什么?一旦函数执行,应该如何断开连接?
const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
const str = generateString();
if (context.req.method === 'POST') {
const redisClient = createClient({ password: process.env['DB_PASSWORD'], socket: { host: process.env['DB_URL'], port: Number(process.env['DB_PORT']) } });
redisClient.on("error", (error) => console.error(`Error : ${error}`));
await redisClient.connect();
await redisClient.setEx("str", 600, str);
context.res.headers['content-type'] = 'application/json'
context.res = {
headers: {
'Content-Type': 'application/json; charset=utf-8'
},
body: {
str
}
};
}
};
1条答案
按热度按时间oaxa6hgo1#
在Azure中创建Redis缓存,并按以下方式选择资源组:
现在在JavaScript中创建一个http触发器函数,如下所示:
现在,创建http触发器后,使用以下命令连接Azure Redis缓存:
在概述中的键下,从Azure缓存中替换以下命令中的主机、端口:
我试过你给的代码它会在10分钟内断开连接,你必须在这个时间限制内检索数据.
我已经执行并获得了如下连接输出:
现在,您可以使用以下命令断开连接:
client.quit(); // This is the command to disconnect