列表类型可以存储一个有序的字符串列表,常用操作是向列表两端添加元素,或者获得列表的某一个片段。

命令

  1. 向列表两端增加元素

     LPUSH key value [value ...]
    
     RPUSH key value [value...]
    
  2. 从列表两端弹出元素

     LPOP key
    
     RPOP key
    

LPOP/RPOP做两件事,首先先移除元素,然后返回被移除元素的值

  1. 获取列表中元素的个数

     LLEN key
    
  2. 获取列表片段

     LRANGE key start stop
    

LRANGE 将返回索引从startstop之间的所有元素,包括两端元素。Redis列表的起始索引为0。另外LRANGE不会像LPOP那样删除元素。如果start索引位置大于stop的则会返回空列表,如果stop大于实际的索引范围,则会返回列表中最右边的元素

  1. 删除列表中指定的值

     LREM key count value
    

LREM 会删除列表中前count个值为value的元素,返回值是实际删除的元素个数。count值不同LREM执行方式会有差异。

1.当count>0时,LREM命令会从列表左边开始删除前count个值为value的元素
2.当count<0时,LREM命令会从列表右边开始删除前count个值为value的元素
3.当count=0时,LREM会删除所有的值为value的元素

示例:

添加列表

lpush vilay 1 2 3 4 5 3 6 3 6 7 3 8 3

删除列表值

lren vilay 2 3

查看列表所有数据

lrange key 0 -1 # 0是起始索引,-1是结束索引

查看列表

lrange vilay 0 12

结果:

 1) "8"
 2) "7"
 3) "6"
 4) "3"
 5) "6"
 6) "3"
 7) "5"
 8) "4"
 9) "3"
10) "2"
11) "1"

根据索引获取单个元素

lindex key index

示例:

lindex name 1

由于是使用lpush命令,从左侧添加,所以删除的时候是从我们添加列表的右侧开始删除

其它删除命令类似。