redis之基础数据类型之List(十四)

list是一个列表 

在redis中,list可以实现栈、队列、阻塞队列。

所有的list命令都是以l开头的

Lpush  从左边放入

lpush  name  liming  将一个或者多个值插入到列表的头部(左)

lpush name jimao

lpush  name liming

lrange name 0 -1    获取name中的值

Rpush  从右边放入

rpush name liwanjuan  将一个或者多个值插入到列表的尾部(右)

 

 往左边移除Lpop

lpop name    移除name的第一个元素

往右边移除Rpop   

 Rpop name  移除name的最后一个元素

 

 

Lindex

lindex name 0  通过下标来获取name的第一个元素的值

lindex name 1      通过下标来获取name的第二个元素的值

 

 llen

llen name  判断list中的长度

 

 

 移除指定的值

lrem name   2    jimao    移除name集合中指定个数的value,这里是移除name集合中2个叫jimao的值

 

ltrim  name   0   -1通过下标截取指定的长度,这个name已经被改变,只剩下截取的数值

 

 

rpoplpush  name name1  移除name的最后一个元素,并将它移到新的name1中

 

 exists name 判断name是否存在,0为不存在

lset name   0    liming     往name集合的第0个位置的值更换为liming,相当于更新操作,如果name不存在,则会报错

 

 

 linsert name before "world" "liwanjuan"  在world的前面插入liwanjuan

linsert name after "world"  "lvxinfeng"   在world 的后面插入lvxinfeng

 

 

 

   list实际上是一个链表,可以在节点的前后插入值,如果key不存在,可以创建新的链表,如果key存在,新增内容,如果移除了key,对应的值也不会存在

  在两边插入或者改动值,效率最高,如果插入中间元素,效率会偏低

list可以做消息队列 ( lpush rpop)  也可以做栈(lpush  lpop)  

 

 

posted @ 2020-09-15 16:51  我是一只老白兔  阅读(188)  评论(0编辑  收藏  举报