# List Commands
# blpop
支持:是
说明: 删除并获取列表中的第一个元素,或阻塞直到一个可用。
示例:
> DEL list1 list2 (integer) 0 > RPUSH list1 a b c (integer) 3 > BLPOP list1 list2 0 1) "list1" 2) "a"
# brpop
支持:是
说明: 删除并获取列表中的最后一个元素,或阻塞直到一个可用。
示例:
> DEL list1 list2 (integer) 1 > RPUSH list1 a b c (integer) 3 > BRPOP list1 list2 0 1) "list1" 2) "c"
# brpoplpush
支持:是
说明:从列表中弹出一个元素,将其推送到另一个列表并返回;或阻塞直到有一个可用。
示例:
> LPUSH mylist "A" (integer) 1 > LPUSH mylist "B" (integer) 2 > LPUSH mylist "C" (integer) 3 > BRPOPLPUSH mylist otherlist 1000 "A" > LRANGE mylist 0 -1 1) "C" 2) "B" > LRANGE otherlist 0 -1 1) "A"
# blmove
支持:是
说明:BLMOVE命令用于从一个列表的一端弹出一个元素并将其推入到另一个列表的一端。
示例:
> RPUSH list1 1 2 3 (integer) 3 > RPUSH list2 4 5 6 (integer) 3 > BLMOVE list1 list2 left left 500 "1" > LRANGE list1 0 -1 1) "2" 2) "3" > LRANGE list2 0 -1 1) "1" 2) "4" 3) "5" 4) "6"
# lmpop
支持:否
说明:从提供的键名称列表中的第一个非空列表键中弹出一个或多个元素。示例:
# blmpop
支持:否
说明:从列表中弹出元素,或阻塞直到一个可用。
示例:
# lindex
支持:是
说明:通过索引从列表中获取元素。
示例:
> LPUSH mylist "World" (integer) 1 > LPUSH mylist "Hello" (integer) 2 > LINDEX mylist 0 "Hello" > LINDEX mylist -1 "World" > LINDEX mylist 3 (nil)
# linsert
支持:是
说明:从列表中的另一个元素之前或者之后插入一个元素。
示例:
> RPUSH mylist "Hello" (integer) 1 > RPUSH mylist "World" (integer) 2 > LINSERT mylist BEFORE "World" "There" (integer) 3 > LRANGE mylist 0 -1 1) "Hello" 2) "There" 3) "World"
# llen
支持:是
说明:获取列表的长度。
示例:
> LPUSH mylist "World" (integer) 1 > LPUSH mylist "Hello" (integer) 2 > LLEN mylist (integer) 2
# lpop
支持:是
说明:删除并获取列表中的第一个元素。
示例:
> RPUSH mylist "one" "two" "three" "four" "five" (integer) 5 > LPOP mylist "one" > LPOP mylist 2 1) "two" 2) "three" > LRANGE mylist 0 -1 1) "four" 2) "five"
# lpos
支持:否
说明:返回列表中匹配元素的索引。
示例:
# lpush
支持:是
说明:将一个或多个元素添加到列表中。
示例:
> LPUSH mylist "world" (integer) 1 > LPUSH mylist "hello" (integer) 2 > LRANGE mylist 0 -1 1) "hello" 2) "world"
# lpushx
支持:是
说明:将元素添加到列表中,仅当列表存在时。
示例:
> LPUSH mylist "World" (integer) 1 > LPUSHX mylist "Hello" (integer) 2 > LPUSHX myotherlist "Hello" (integer) 0 > LRANGE mylist 0 -1 1) "Hello" 2) "World" > LRANGE myotherlist 0 -1 (empty array)
# lrange
支持:是
说明:从列表中获取一系列元素。
示例:
> RPUSH mylist "one" (integer) 1 > RPUSH mylist "two" (integer) 2 > RPUSH mylist "three" (integer) 3 > LRANGE mylist 0 0 1) "one" > LRANGE mylist -3 2 1) "one" 2) "two" 3) "three" > LRANGE mylist -100 100 1) "one" 2) "two" 3) "three" > LRANGE mylist 5 10 (empty array)
# lrem
支持:是
说明:从列表中删除元素。
示例:
> RPUSH mylist "hello" (integer) 1 > RPUSH mylist "hello" (integer) 2 > RPUSH mylist "foo" (integer) 3 > RPUSH mylist "hello" (integer) 4 > LREM mylist -2 "hello" (integer) 2 > LRANGE mylist 0 -1 1) "hello" 2) "foo"
# lset
支持:是
说明: 通过索引设置列表中元素的值。
示例:
> RPUSH mylist "one" (integer) 1 > RPUSH mylist "two" (integer) 2 > RPUSH mylist "three" (integer) 3 > LSET mylist 0 "four" OK > LSET mylist -2 "five" OK > LRANGE mylist 0 -1 1) "four" 2) "five" 3) "three"
# ltrim
支持:是
说明:将列表修剪到指定范围。
示例:
> RPUSH mylist "one" (integer) 1 > RPUSH mylist "two" (integer) 2 > RPUSH mylist "three" (integer) 3 > LTRIM mylist 1 -1 OK > LRANGE mylist 0 -1 1) "two" 2) "three"
# rpop
支持:是
说明:删除并获取列表中的最后一个元素。
示例:
> RPUSH mylist "one" "two" "three" "four" "five" (integer) 5 > RPOP mylist "five" > RPOP mylist 2 1) "four" 2) "three" > LRANGE mylist 0 -1 1) "one" 2) "two"
# rpoplpush
支持:是
说明:删除列表中的最后一个元素,将其添加到另一个列表中并返回。
示例:
> RPUSH mylist "one" (integer) 1 > RPUSH mylist "two" (integer) 2 > RPUSH mylist "three" (integer) 3 > RPOPLPUSH mylist myotherlist "three" > LRANGE mylist 0 -1 1) "one" 2) "two" > LRANGE myotherlist 0 -1 1) "three"
# lmove
支持:否
说明:从列表中弹出一个元素,将其推送到另一个列表并返回它。
示例:
# rpush
支持:是
说明:将一个或多个元素附加到列表中。
示例:
> RPUSH mylist "one" "two" "three" "four" "five" (integer) 5 > RPOP mylist "five" > RPOP mylist 2 1) "four" 2) "three" > LRANGE mylist 0 -1 1) "one" 2) "two"
# rpushx
支持:是
说明:将元素追加到列表中,仅当列表存在时。
示例:
> RPUSH mylist "Hello" (integer) 1 > RPUSHX mylist "World" (integer) 2 > RPUSHX myotherlist "World" (integer) 0 > LRANGE mylist 0 -1 1) "Hello" 2) "World" > LRANGE myotherlist 0 -1 (empty array)