Redis – Lists

Redis Lists are simply lists of strings, sorted by insertion order. You can add elements in Redis lists in the head or the tail of the list.

Maximum length of a list is 232 – 1 elements (4294967295, more than 4 billion of elements per list).

Example

redis 127.0.0.1:6379> LPUSH tutorials redis 
(integer) 1 
redis 127.0.0.1:6379> LPUSH tutorials mongodb 
(integer) 2 
redis 127.0.0.1:6379> LPUSH tutorials mysql 
(integer) 3 
redis 127.0.0.1:6379> LRANGE tutorials 0 10  
1) "mysql" 
2) "mongodb" 
3) "redis"

In the above example, three values are inserted in Redis list named ‘tutorials’ by the command LPUSH.

Redis Lists Commands

Following table lists some basic commands related to lists.

Sr.NoCommand & Description
1BLPOP key1 [key2 ] timeoutRemoves and gets the first element in a list, or blocks until one is available
2BRPOP key1 [key2 ] timeoutRemoves and gets the last element in a list, or blocks until one is available
3BRPOPLPUSH source destination timeoutPops a value from a list, pushes it to another list and returns it; or blocks until one is available
4LINDEX key indexGets an element from a list by its index
5LINSERT key BEFORE|AFTER pivot valueInserts an element before or after another element in a list
6LLEN keyGets the length of a list
7LPOP keyRemoves and gets the first element in a list
8LPUSH key value1 [value2]Prepends one or multiple values to a list
9LPUSHX key valuePrepends a value to a list, only if the list exists
10LRANGE key start stopGets a range of elements from a list
11LREM key count valueRemoves elements from a list
12LSET key index valueSets the value of an element in a list by its index
13LTRIM key start stopTrims a list to the specified range
14RPOP keyRemoves and gets the last element in a list
15RPOPLPUSH source destinationRemoves the last element in a list, appends it to another list and returns it
16RPUSH key value1 [value2]Appends one or multiple values to a list
17RPUSHX key valueAppends a value to a list, only if the list exists

Leave a Reply

Your email address will not be published. Required fields are marked *