Redis xtrim 命令
XTRIM key MAXLEN [~] count
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,
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
~ 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.
Integer reply, specifically:
The command returns the number of entries deleted from the stream.
redis> XTRIM mystream MAXLEN 2
ERR Unknown or disabled command 'XTRIM'
redis> XRANGE mystream – +
1) 1) "1587021010294-0" 2) 1) "field1" 2) "A" 3) "field2" 4) "B" 5) "field3" 6) "C" 7) "field4" 8) "D"