如何检查redis中已经存在的消费者群体?

hujrc8aj  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(556)

目前,我正在寻找优雅的解决方案,以检查消费者群体在redis流已经存在。
我有几个模块连接到同一个流并从中读取数据。但它们可以从不同的顺序开始,如果没有创建消费群体,就尝试创建它。在第一个模块创建了组的情况下,其他模块会根据文档得到一个错误。
根据文件:
如果指定的使用者群组已经存在,则命令会传回-busygroup错误。
我想避免这个错误。
我用绝地客户端和redis一起工作。我知道有 XINFO 命令(它可以返回组列表),但当redis在集群模式下启动时它不起作用(这可能是我的配置之一)。

6gpjuf90

6gpjuf901#

没有其他方法,因为您在问题中提到了两个选项: XGROUP CREATE 并捕获一个错误,以防组已经存在。 XINFO STREAM 然后查找组,但这不是原子的,而且一个并行的组创建,可能会在您得到信息后立即调用。

相关问题