# 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)