Skip to content

Instantly share code, notes, and snippets.

@ramingar
Last active August 29, 2015 14:23
Show Gist options
  • Select an option

  • Save ramingar/0cb864e3e7a3ea6df8c7 to your computer and use it in GitHub Desktop.

Select an option

Save ramingar/0cb864e3e7a3ea6df8c7 to your computer and use it in GitHub Desktop.
Redis data types (lists) #redis #comandos #lists

LPUSH (adds on the left (at the head)), RPUSH (on the right (at the tail)), LRANGE (extracts ranges of elements from lists). Note that LRANGE takes two indexes, the first and the last element of the range to return. Both the indexes can be negative, telling Redis to start counting from the end: so -1 is the last element, -2 is the penultimate element of the list, and so forth.:

> rpush mylist A
(integer) 1
> rpush mylist B
(integer) 2
> lpush mylist first
(integer) 3
> lrange mylist 0 -1
1) "first"
2) "A"
3) "B"

Admiten multiples inserciones:

> rpush mylist 1 2 3 4 5 "foo bar"
(integer) 9
> lrange mylist 0 -1
1) "first"
2) "A"
3) "B"
4) "1"
5) "2"
6) "3"
7) "4"
8) "5"
9) "foo bar"

RPOP (saca elementos por la derecha):

> rpush mylist a b c
(integer) 3
> rpop mylist
"c"
> rpop mylist
"b"
> rpop mylist
"a"
> rpop mylist
(nil)

LTRIM (borrar todos los elementos de una lista MENOS los indicados):

> rpush mylist 1 2 3 4 5
(integer) 5
> ltrim mylist 0 2
OK
> lrange mylist 0 -1
1) "1"
2) "2"
3) "3"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment