loading...

Redis List Commands

divshekhar profile image Divyanshu Shekhar ・2 min read

Lists are present in almost every programming language and play a very important role when it comes to storing information.

Redis an in-memory database also has lists data structure. Its structure is somewhat like linked lists and insertions and deletion can be done by both sides.

Create Redis List

As stated earlier, Redis list insertion can be done from both sides i.e Head and Tail. When the list is seen horizontally the Head comes to the left and the Tail to the right. So the Redis Command to push elements towards Head is LPUSH and towards tail is RPUSH.

LPUSH/RPUSH key value [value ...]

Redis LPUSH

$ 127.0.0.1:6379> lpush number 1 2 3 4 5
  (integer) 5
Redis RPUSH
$ 127.0.0.1:6379> rpush number 1 2 3 4 5
  (integer) 5

Range List Values

Just like in programming languages where we can range over the List values, In the Redis list, we can range over the list items too.

lrange key start end

Ranging the LPUSHed Lists.

lrange LPUSHed List

$ 127.0.0.1:6379> lpush number 1 2 3 4 5
  (integer) 5
$ 127.0.0.1:6379> lrange number 0 5
  1) "5"
  2) "4"
  3) "3"
  4) "2"
  5) "1"

In the Redis LPUSH, the elements are pushed to the head, and thus when looped the output is in reverse order.

Now, Ranging the RPUSHed List.

lrange RPUSHed List

$ 127.0.0.1:6379> rpush number 1 2 3 4 5
  (integer) 5
$ 127.0.0.1:6379> lrange number 0 5
  1) "1"
  2) "2"
  3) "3"
  4) "4"
  5) "5"

You can notice the difference between the two outputs.

In the Redis RPUSH, the elements are pushed to the tail, and thus when looped the output is in the same order as they are pushed.

Read the whole post Redis List Commands from the original Post.

Posted on by:

Discussion

pic
Editor guide