gpt4 book ai didi

c# - 已达到 Azure Redis 缓存最大连接数

转载 作者:IT王子 更新时间:2023-10-29 05:57:58 25 4
gpt4 key购买 nike

我使用 Azure Redis 缓存来存储一些快速查找数据,该缓存由 10 个客户端应用程序读取/连接。所有应用程序都是用 .NET 4.6 编写的,其中包括 ASP.NET MVC Web 应用程序、Web API 和少数每 1 秒运行一次的辅助角色。所有客户端都使用 StackExchange.Redis 连接到缓存。但是,我遇到间歇性超时,并且我观察到在 Azure 门户中,最大连接数已达到 1000(对于我的定价层)。由于我只有 10 个客户端应用程序,而且这些应用程序都不是多线程的,那么什么可以创建到缓存的 1000 个连接?

缓存客户端是否有可供我遵循的最佳实践?

最佳答案

这与这个问题非常相似:Why are connections to Azure Redis Cache so high?

以下是我们向大多数客户推荐的最佳实践:

  1. 在连接字符串中将 abortConnect 设置为 false
  2. 创建一个单例连接复用器并重用它。这对于大多数场景来说已经足够了。一些高级方案可能需要为每个应用程序创建多个 connectionMultiplexer 对象,但大多数情况下只需要一个就可以了。我建议遵循此处显示的编码模式:https://azure.microsoft.com/en-us/documentation/articles/cache-dotnet-how-to-use-azure-redis-cache/#connect-to-the-cache
  3. 让 ConnectionMultiplexer 处理重新连接 - 不要自己这样做,除非您已经非常彻底地测试了代码。我见过的大多数连接泄漏都是因为人们重新创建了 ConnectionMultiplexer 但未能处理旧的。在大多数情况下,最好让多路复用器进行重新连接。

关于c# - 已达到 Azure Redis 缓存最大连接数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38461165/

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