gpt4 book ai didi

asp.net - Azure Redis 缓存自动清除 PubSub channel

转载 作者:可可西里 更新时间:2023-11-01 11:24:41 25 4
gpt4 key购买 nike

我在 Azure 中设置了四种不同的 Redis 缓存订阅。我还有四个应用服务,每个应用服务都使用其中一个 Redis 缓存订阅。四个 App Services/Redis 缓存订阅用于相同的代码库,但环境不同。我使用测试、分期、直播东海岸和直播西海岸环境。

每个应用服务中运行的代码完全相同。

我有一个使用 StackExchange.Redis 的 ASP.NET Core Web API 项目。在我的 Web API 项目中,我连接到在 Azure 中设置的与应用服务环境相对应的 Redis 订阅。作为 Web API 项目启动过程的一部分,我打开了四个 PubSub channel 。

对于测试、暂存和实时西海岸环境,创建了四个 PubSub channel 并且运行良好。我可以通过 Azure 连接到 Redis 控制台并运行 PUBSUB CHANNELS 命令并查看我通过代码创建的四个 channel 。

出于某种原因,在直播东海岸 Redis 订阅中,只有一个 PubSub channel 出现。我还可以验证实际上只有一个 channel 是打开的。我调用 Web API 的前端具有将消息发布到 Redis PubSub 的逻辑。这些不适用于 live-east coast App Service。如果我重新启动 App Service 或重新启动 Redis,那么我有时可以让所有四个 PubSub channel 都显示出来并正常工作。每当我将新代码部署到我的 live-east coast App Service 时,服务重新启动后,只会创建一个 channel 。

出于某种原因,Redis 正在关闭我的三个 PubSub channel 。同样,这只发生在我的四个 Redis 订阅/应用服务之一中。其他三个工作完美。

我已确保我的四个 Redis 订阅和四个应用服务的所有设置都相同。我已尝试重启和重新部署数次,但我无法获得实时东海岸 Redis 订阅以保持所有四个 PubSub channel 打开。

有人遇到过这样的事情吗?有没有人看到 Azure Redis 缓存随机关闭他们的 PubSub channel ?

最佳答案

订阅该 channel 的客户端可能已经死亡或从未成功连接。一旦订户数达到零,PUBSUB channels不会再显示该 channel 了。尝试运行 PUBSUB numsub <channel_name>以验证是否有订阅者。同时运行 CLIENT list查看有多少客户有订阅(类似于 sub=1 )。

关于asp.net - Azure Redis 缓存自动清除 PubSub channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50044224/

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