当前位置: 移动技术网 > IT编程>数据库>MongoDB > Redis list(列表)相关命令

Redis list(列表)相关命令

2019年06月25日  | 移动技术网IT编程  | 我要评论

redis列表是简单的字符串列表,列表是有序的,列表中的元素可以重复。

可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (40多亿)。

 

 

1、lpush key value1 value2 .....    //往列表的头部(左边)推入一个或多个元素,lpush的l表示left。key是列表名称,把列表中的所有元素作为一个整体(value)。若key不存在,会自动创建。

示例:

 lpush students "zhangsan" "lisi" "wangwu"       //返回操作后列表中的总元素个数

先在列表头部添加“zhangsan”,再在列表头部添加“lisi”,接着在列表头部添加“wangwu”,最后列表的前三个元素依次是"wangwu"、“lisi”、“zhangsan”。

 

2、lpushx key value1 value2 ......    //同上,只是key不存在时,不执行操作(不会自动创建)。要key已存在且key时list类型时才会添加元素。

3、lpop key   //弹出列表的第一个元素,会从列表中移除并返回该元素。

 

l表示left,列表的头部。

 

 

 

4、rpush key value1 value2 ....    //在列表尾部推入1个或多个元素。

5、rpushx key value1 value2 .....     //尾部,key已存在时才会推入。

6、rpop    //弹出列表的最后一个元素

r表示right,列表的尾部。

 

上面的l、r命令是一一对应的。

 

 

7、rpoplpush sourcekey destkey   //弹出sourcekey的最后一个元素,并在destkey的头部推入元素,即剪切。返回该元素。rpoplpush即对sourcekey执行rpop,对destkey执行lpush。

 

 

8、blpop  key1  key2  ....   timeout    //弹出一个或多个的列表的第一个元素,如果列表为空会阻塞列表直到等待超时或发现可弹出元素为止。blpop即bind  lpop。

示例: blpop students 60    //60s

9、brpop  key1  key2 .....   timeout

10、brpoplpush  sourcekey  destkey   timeout

 

  

 

11、llen  key    //返回列表中的元素个数

12、lset  key  index  value    //给指定索引处的元素设置值(即修改元素值)

13、lindex  key  index   //根据index索引元素,返回指定位置上的元素

14、lrange  key start  end    //返回[start,end]区间上的所有元素。start、end是索引,比如0  -1  就是返回所有元素。

15、ltrim key start  end   //修剪列表,只保留[start,end]区间上的元素,其余元素会被删除。

 

16、linsert  key  before/after  value1  value2    //在元素value1之前/之后插入元素value2。value2是要插入的元素。

示例: linsert student before "lisi" "zhangsan"     //在lisi的前面插入zhangsan

插入成功,返回操作后列表的总长度;若value1不存在,返回-1;若key不存在或key是一个空的list,则返回0.

 

17、lrem  key  count  value  //移除列表中值为value的所有元素。lrem即list remove。count是一个整数,表示要删除的个数、搜索方向。

count>0:从表头向表尾搜索,移除count个值为value的元素

count<0:从表尾向表头搜索,移除count的绝对值个值为value的元素

count=0:移除表中所有的值为value的元素。要遍历列表,从哪边开始结果、速度都是一样的。

示例: lrem scores 0 90    移除列表中所有的90

 

以上几个命令中,l表示list。index从0开始,支持负数索引,index要是已存在的

 

 

redis的区间,都是闭区间,[start,end],两边都包含。

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网