原因:执行完之后 报错: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 字段以确认版本号。


