首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >(error) ERR Unknown subcommand or wrong number of arguments for 'CREATE'. Try XGROUP HELP

(error) ERR Unknown subcommand or wrong number of arguments for 'CREATE'. Try XGROUP HELP

作者头像
捞月亮的小北
发布于 2024-07-31 09:43:14
发布于 2024-07-31 09:43:14
7880
举报
文章被收录于专栏:捞月亮的小北捞月亮的小北

原因:执行完之后 报错: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​ 命令的语法应该是这样的:

代码语言:javascript
复制
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​ 命令创建一个空的流:

代码语言:javascript
复制
XADD stream.orders * somefield somevalue

使用 XGROUP CREATE​ 命令创建消费者组:

代码语言:javascript
复制
XGROUP CREATE stream.orders g1 0

删除用于初始化流的消息(可选):

代码语言:javascript
复制
XDEL stream.orders 1

这里假设流中只有一个消息,其 ID 为 1​。

方法 2: 升级 Redis 版本

如果您可以升级 Redis 版本,建议升级到至少 Redis 6.0,这样就可以直接使用 MKSTREAM​ 选项。升级后,您可以使用正确的命令格式:

代码语言:javascript
复制
XGROUP CREATE --mkstream stream.orders g1 0

检查 Redis 版本

在尝试上述解决方案之前,请确保您知道正在使用的 Redis 版本。您可以通过运行以下命令来查看 Redis 的版本:

代码语言:javascript
复制
INFO server

在返回的信息中查找 redis_version​ 字段以确认版本号。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 解决方案
    • 方法 1: 使用 XADD​ 创建流
    • 方法 2: 升级 Redis 版本
  • 检查 Redis 版本
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档