gpt4 book ai didi

用于 Azure 消费函数的 Redis 连接最佳实践

转载 作者:IT王子 更新时间:2023-10-29 06:08:50 29 4
gpt4 key购买 nike

Redis 最佳实践建议使用长生命周期的 ConnectionMultiplexer。但是,我想在可能只存在几秒钟(但运行多次)的 azure 消耗函数中使用 Redis。

我想知道我是否有这样的代码:

        private static Lazy<ConnectionMultiplexer> lazyRedisConnection = new Lazy<ConnectionMultiplexer>(() =>
{
string cacheConnection = ConfigurationManager.AppSettings["RedisKey"].ToString();
return ConnectionMultiplexer.Connect(cacheConnection);
});

public static ConnectionMultiplexer RedisConnection
{
get
{
return lazyRedisConnection.Value;
}
}

在 Azure 消费功能上,例如运行10000 次。由于 Azure 消费函数的工作方式,这实际上会创建 10000 个连接而不是重复使用一个连接?

手动创建/处理每个函数的连接是否更安全?

最佳答案

即使单个函数执行可能只需要几秒钟,函数实例(服务器)正在为多个请求重用。实际上,随着不断传入的请求流,每个实例都会存在很长时间(几分钟到几小时)。

应在同一实例上执行的调用之间重用数据库连接。

静态字段初始化一次,然后重复用于多次执行,因此您的代码不会创建 10000 个连接,但可能是 1、2 或 3,具体取决于比例 Controller 将创建的实例数量。

当一个实例宕机时,您的应用程序域将被回收,因此与 Redis 的连接将被终止。

我建议您继续使用您引用的代码。

关于用于 Azure 消费函数的 Redis 连接最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093109/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com