content/commands/lrange.md
Returns the specified elements of the list stored at key.
The offsets start and stop are zero-based indexes, with 0 being the first
element of the list (the head of the list), 1 being the next element and so
on.
These offsets can also be negative numbers indicating offsets starting at the
end of the list.
For example, -1 is the last element of the list, -2 the penultimate, and so
on.
Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will
return 11 elements, that is, the rightmost item is included.
This may or may not be consistent with behavior of range-related functions
in your programming language of choice (think Ruby's Range.new, Array#slice
or Python's range() function).
Out of range indexes will not produce an error.
If start is larger than the end of the list, an empty list is returned.
If stop is larger than the actual end of the list, Redis will treat it like
the last element of the list.
{{< clients-example set="cmds_list" step="lrange" description="Foundational: Retrieve a range of elements from a list using LRANGE with start and stop indexes (supports negative indexes, inclusive range)" difficulty="beginner" >}} redis> RPUSH mylist "one" (integer) 1 redis> RPUSH mylist "two" (integer) 2 redis> RPUSH mylist "three" (integer) 3 redis> LRANGE mylist 0 0
Give these commands a try in the interactive console:
{{% redis-cli %}} RPUSH mylist "one" RPUSH mylist "two" RPUSH mylist "three" LRANGE mylist 0 0 LRANGE mylist -3 2 LRANGE mylist -100 100 LRANGE mylist 5 10 {{% /redis-cli %}}
| Redis Software | Redis Cloud | <span style="min-width: 9em; display: table-cell">Notes</span> | |:----------------------|:-----------------|:------| | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | <span title="Supported">✅ Standard</span> <span title="Supported"><nobr>✅ Active-Active</nobr></span> | |
{{< multitabs id="lrange-return-info" tab1="RESP2" tab2="RESP3" >}}
Array reply: a list of elements in the specified range, or an empty array if the key doesn't exist.
-tab-sep-
Array reply: a list of elements in the specified range, or an empty array if the key doesn't exist.
{{< /multitabs >}}