【问题标题】:StackExchange.Redis: Get the count of channel subscriptions (i.e. PUBSUB NUMSUB)StackExchange.Redis:获取频道订阅数(即 PUBSUB NUMSUB)
【发布时间】:2022-04-29 00:57:29
【问题描述】:

有没有办法通过 StackExchange.Redis 库获取特定 Redis 频道的频道订阅数?直接与 Redis 交互时,它可以使用 PUBSUB NUMSUB 命令 (http://redis.io/commands/pubsub),但我在 C# 客户端库中看不到等效调用。

【问题讨论】:

    标签: c# redis stackexchange.redis


    【解决方案1】:

    这是一个 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](...)

    【讨论】:

    • 有没有办法在 Golang 中做到这一点?
    • @ShyamShinde 当然——这最终是一个服务器功能;至少one of the golang redis libraries 应该支持它......如果没有:你可以添加一个 PR!
    • 关于这个问题的任何更新?有没有办法使用 StackExchangeRedis 获取给定频道的订阅者数量?
    • @BercoviciAdrian 嗯 ...无需更新,因为上面答案中的代码继续有效;使用GetServer(),以及上面显示的 3 种方法中的任何一种,具体取决于您要询问服务器的内容
    • @BercoviciAdrian 首先,ISubscriber 只是一个网关;状态处于连接/多路复用器级别,因此“每个ISubscriber 实例”:不是一件事。要删除所有委托:有一个取消订阅方法,它需要一个频道;如果您不包含处理程序,它会在该通道上执行所有操作
    猜你喜欢
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2017-06-20
    • 2020-07-18
    • 2013-09-09
    • 2013-03-16
    • 2019-01-14
    相关资源
    最近更新 更多