下面我们来看Redis对list的支持。操作list的命令RPUSH,LPUSH,LLEN,LRANGE,LPOP,RPOP。
命令RPUSH添加一个string类型的值到list头部,RPUSH key string。如果key不存在,一个空的list将被自动创建。如果key存在,但是不是一个list将返回一个错误。
命令LPUSH和RPUSH命令一样,唯一的区别就是它往list尾部添加元素。
RPUSH friends "Alice"
RPUSH friends "Bob"
LPUSH friends "Sam"
LLEN friends => 3
命令LRANGE返回指定的元素,LRANGE key start end。第一个元素索引是0。-1是最后一个元素。索引越界不会引发错误,如果start>end将返回一个空list,如果end超过索引最大值将被视为最大值处理。
LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob"
LRANGE friends 0 1 => 1) "Sam", 2) "Alice"
LRANGE friends 1 2 => 1) "Alice", 2) "Bob"
命令LPOP获得第一个元素并将其从list中删除,LPOP key。如果key不存在或是list已空将返回nil。
命令RPOP和LPOP一样,唯一区别就是它得到的是最后一个元素。
LPOP friends => "Sam"
RPOP friends => "Bob"