XREVRANGE key end start [COUNT count]
Time complexity: O(N) with N being the number of elements returned. If N is constant (e.g. always asking for the first 10 elements with COUNT), you can consider it O(1).
ACL categories: @read, @stream, @slow
This command is exactly like
XRANGE, but with the notable difference of
returning the entries in reverse order, and also taking the start-end
range in reverse order: in
XREVRANGE you need to state the end ID
and later the start ID, and the command will produce all the element
between (or exactly like) the two IDs, starting from the end side.
So for instance, to get all the elements from the higher ID to the lower ID one could use:
XREVRANGE somestream + -
Similarly to get just the last element added into the stream it is enough to send:
XREVRANGE somestream + - COUNT 1
XRANGE for more detail.
Array reply, specifically:
The command returns the entries with IDs matching the specified range,
from the higher ID to the lower ID matching.
The returned entries are complete, that means that the ID and all the fields
they are composed are returned. Moreover the entries are returned with
their fields and values in the exact same order as
XADD added them.
dragonfly> XADD writers * name Virginia surname Woolf
dragonfly> XADD writers * name Jane surname Austen
dragonfly> XADD writers * name Toni surname Morrison
dragonfly> XADD writers * name Agatha surname Christie
dragonfly> XADD writers * name Ngozi surname Adichie
dragonfly> XLEN writers
dragonfly> XREVRANGE writers + - COUNT 1
1) 1) "1676903941133-1"
2) 1) "name"