list是一个列表 

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

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

Lpush  从左边放入

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

lpush name jimao

lpush  name liming

lrange name 0 -1    获取name中的值

Rpush  从右边放入

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

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

 

 往左边移除Lpop

lpop name    移除name的第一个元素

往右边移除Rpop   

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

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

 

 

Lindex

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

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

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

 

 llen

llen name  判断list中的长度

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

 

 

 移除指定的值

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

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

 

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

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

 

 

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

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

 

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

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

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

 

 

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

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

 

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

 

 

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

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

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

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

 

相关文章:

  • 2021-05-21
  • 2021-10-29
  • 2022-12-23
  • 2021-10-15
  • 2022-01-14
  • 2021-09-17
  • 2021-04-23
  • 2021-12-26
猜你喜欢
  • 2021-10-24
  • 2021-10-19
  • 2021-12-23
  • 2022-01-04
  • 2021-07-26
  • 2022-01-01
  • 2021-11-10
相关资源
相似解决方案