diff options
Diffstat (limited to 'iredis/data/commands/xtrim.md')
-rw-r--r-- | iredis/data/commands/xtrim.md | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/iredis/data/commands/xtrim.md b/iredis/data/commands/xtrim.md new file mode 100644 index 0000000..090650b --- /dev/null +++ b/iredis/data/commands/xtrim.md @@ -0,0 +1,37 @@ +`XTRIM` trims the stream to a given number of items, evicting older items (items +with lower IDs) if needed. The command is conceived to accept multiple trimming +strategies, however currently only a single one is implemented, which is +`MAXLEN`, and works exactly as the `MAXLEN` option in `XADD`. + +For example the following command will trim the stream to exactly the latest +1000 items: + +``` +XTRIM mystream MAXLEN 1000 +``` + +It is possible to give the command in the following special form in order to +make it more efficient: + +``` +XTRIM mystream MAXLEN ~ 1000 +``` + +The `~` argument between the **MAXLEN** option and the actual count means that +the user is not really requesting that the stream length is exactly 1000 items, +but instead it could be a few tens of entries more, but never less than 1000 +items. When this option modifier is used, the trimming is performed only when +Redis is able to remove a whole macro node. This makes it much more efficient, +and it is usually what you want. + +@return + +@integer-reply, specifically: + +The command returns the number of entries deleted from the stream. + +```cli +XADD mystream * field1 A field2 B field3 C field4 D +XTRIM mystream MAXLEN 2 +XRANGE mystream - + +``` |