原因:执行完之后 报错:127.0.0.1:6379> XGROUP CREATE --mkstream stream.orders g1 0 (error) ERR Unknown subcommand or wrong number of arguments for 'CREATE'. Try XGROUP HELP.
看起来您尝试使用的命令语法不符合 Redis 的要求。XGROUP CREATE
命令的语法应该是这样的:
XGROUP CREATE key groupname id [MKSTREAM]
根据您提供的错误信息 (error) ERR Unknown subcommand or wrong number of arguments for 'CREATE'. Try XGROUP HELP.
,这表明 Redis 服务器无法识别 --mkstream
选项。这通常意味着您的 Redis 版本不支持这个选项。
解决方案
方法 1: 使用 XADD
创建流
如果您不能升级到支持 MKSTREAM
的 Redis 版本,您可以先使用 XADD
命令创建一个空的流,然后使用 XGROUP CREATE
命令创建消费者组。
使用 XADD
命令创建一个空的流:
XADD stream.orders * somefield somevalue
使用 XGROUP CREATE
命令创建消费者组:
XGROUP CREATE stream.orders g1 0
删除用于初始化流的消息(可选):
代码语言:javascript复制XDEL stream.orders 1
这里假设流中只有一个消息,其 ID 为 1
。
方法 2: 升级 Redis 版本
如果您可以升级 Redis 版本,建议升级到至少 Redis 6.0,这样就可以直接使用 MKSTREAM
选项。升级后,您可以使用正确的命令格式:
XGROUP CREATE --mkstream stream.orders g1 0
检查 Redis 版本
在尝试上述解决方案之前,请确保您知道正在使用的 Redis 版本。您可以通过运行以下命令来查看 Redis 的版本:
代码语言:javascript复制INFO server
在返回的信息中查找 redis_version
字段以确认版本号。