summaryrefslogtreecommitdiffstats
path: root/iredis/data/commands/xgroup-create.md
diff options
context:
space:
mode:
Diffstat (limited to 'iredis/data/commands/xgroup-create.md')
-rw-r--r--iredis/data/commands/xgroup-create.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/iredis/data/commands/xgroup-create.md b/iredis/data/commands/xgroup-create.md
new file mode 100644
index 0000000..f0f1606
--- /dev/null
+++ b/iredis/data/commands/xgroup-create.md
@@ -0,0 +1,23 @@
+This command creates a new consumer group uniquely identified by `<groupname>` for the stream stored at `<key>`.
+
+Every group has a unique name in a given stream. When a consumer group with the same name already exists, the command returns a `-BUSYGROUP` error.
+
+The command's `<id>` argument specifies the last delivered entry in the stream from the new group's perspective.
+The special ID `$` means the ID of the last entry in the stream, but you can provide any valid ID instead.
+For example, if you want the group's consumers to fetch the entire stream from the beginning, use zero as the starting ID for the consumer group:
+
+ XGROUP CREATE mystream mygroup 0
+
+By default, the `XGROUP CREATE` command insists that the target stream exists and returns an error when it doesn't.
+However, you can use the optional `MKSTREAM` subcommand as the last argument after the `<id>` to automatically create the stream (with length of 0) if it doesn't exist:
+
+ XGROUP CREATE mystream mygroup $ MKSTREAM
+
+The optional `entries_read` named argument can be specified to enable consumer group lag tracking for an arbitrary ID.
+An arbitrary ID is any ID that isn't the ID of the stream's first entry, its last entry or the zero ("0-0") ID.
+This can be useful you know exactly how many entries are between the arbitrary ID (excluding it) and the stream's last entry.
+In such cases, the `entries_read` can be set to the stream's `entries_added` subtracted with the number of entries.
+
+@return
+
+@simple-string-reply: `OK` on success.