我想检查有多少用户连接到我的 pubsub 模式。在 Go 中有简单的方法吗?谢谢你。
pubsub := env.redisCli.PSubscribe(name)
defer pubsub.Close()
我试过这个:
val, _ := env.redisCli.Do("pubsub", "numpat").Int()
但它也向我展示了其他模式,我只想计算那个特定的模式。
redis 文档声明您可以使用NUMSUB命令将结果限制为单个订阅,但这不会列出订阅模式的客户端:
返回指定频道的订阅者数量(不包括订阅模式的客户端)。
另一方面,NUMPAT将计算所有客户端连接到的所有模式:
请注意,这不仅仅是订阅模式的客户端数量,而是所有客户端订阅的模式总数。
(来自https://redis.io/commands/pubsub)
我找不到在 Redis 中列出所有订阅者及其订阅的方法。所以我能想到的唯一方法是将这些信息独立存储在redis(或其他地方)中并自己管理。