0

我想检查有多少用户连接到我的 pubsub 模式。在 Go 中有简单的方法吗?谢谢你。

    pubsub := env.redisCli.PSubscribe(name)
    defer pubsub.Close()

我试过这个:

val, _ := env.redisCli.Do("pubsub", "numpat").Int()

但它也向我展示了其他模式,我只想计算那个特定的模式。

4

1 回答 1

0

redis 文档声明您可以使用NUMSUB命令将结果限制为单个订阅,但这不会列出订阅模式的客户端:

返回指定频道的订阅者数量(不包括订阅模式的客户端)。

另一方面,NUMPAT将计算所有客户端连接到的所有模式:

请注意,这不仅仅是订阅模式的客户端数量,而是所有客户端订阅的模式总数。

(来自https://redis.io/commands/pubsub

我找不到在 Redis 中列出所有订阅者及其订阅的方法。所以我能想到的唯一方法是将这些信息独立存储在redis(或其他地方)中并自己管理。

于 2021-01-05T16:09:59.227 回答