【发布时间】:2022-04-29 00:57:29
【问题描述】:
有没有办法通过 StackExchange.Redis 库获取特定 Redis 频道的频道订阅数?直接与 Redis 交互时,它可以使用 PUBSUB NUMSUB 命令 (http://redis.io/commands/pubsub),但我在 C# 客户端库中看不到等效调用。
【问题讨论】:
标签: c# redis stackexchange.redis
有没有办法通过 StackExchange.Redis 库获取特定 Redis 频道的频道订阅数?直接与 Redis 交互时,它可以使用 PUBSUB NUMSUB 命令 (http://redis.io/commands/pubsub),但我在 C# 客户端库中看不到等效调用。
【问题讨论】:
标签: c# redis stackexchange.redis
这是一个 server 命令(相对于 database 命令),所以same guidance applies as for KEYS, SCAN, FLUSHDB, etc。短版:使用GetServer()。加长版:阅读上面的链接文章。
PUBSUB 方法是:
PUBSUB CHANNELS: server.SubscriptionChannels[Async](...)
PUBSUB NUMPAT: server.SubscriptionPatternCount[Async](...)
PUBSUB NUMSUB: server.SubscriptionSubscriberCount[Async](...)
【讨论】:
GetServer(),以及上面显示的 3 种方法中的任何一种,具体取决于您要询问服务器的内容
ISubscriber 只是一个网关;状态处于连接/多路复用器级别,因此“每个ISubscriber 实例”:不是一件事。要删除所有委托:有一个取消订阅方法,它需要一个频道;如果您不包含处理程序,它会在该通道上执行所有操作