redis数据类型(四)list类型

一、list类型

list是一个链表结构,可以理解为一个每个子元素都是 string 类型的双向链表。
主要功能是push、pop、获取一个范围的所有值等。
操作中key理解为链表的名字。

二、List类型数据操作指令简介

  1. lpush key string   在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。
    hbNg0yG.png
  2. rpush key string   在key对应list的尾部添加字符串元素,返回LIST容器最新的长度。
    MYBxFgB.png
  3. llen key  返回key对应list的长度,如果key不存在返回0,如果key对应类型不是list 返回错误。
    Ia2XNp3.png
  4. lrange key start end  返回指定区间内的元素,下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表。
    jk1gebC.png
  5. ltrim key start end  截取list指定区间内元素,成功返回1,key不存在返回错误。
    hub67ei.png
    RcTtHOg.png
  6. lset key index value  设置list中指定下标的元素值,成功返回1,key或者下标不存在返回错误。
    Lg3llC9.png
  7. lrem key count value  从 List 的头部(count正数)或尾部(count负数)删除一定数量(count)匹配value的元素,返回删除的元素数量。count为0时候删除全部。
    QL1dpz4.png
  8. lpop key  从list的头部删除并返回删除元素。如果key对应list不存在或者是空返回nil,如果key对应值不是list返回错误。
    99nOHvt.png
  9. rpop key  从list的尾部删除并返回删除元素。
    0IbpDTH.png
  10. blpop key1 ...... keyN timeout  从左到右扫描,返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3 0 ,如果list不存在list2,list3都是非空则对list2做 lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout 秒,timeout为0表示一直阻塞。当阻塞时,如果有client对key1...keyN中的任意key 进行push操作,则第一在这个key上被阻塞的client会立即返回。如果超时发生,则返回 nil。有点像unix的select或者poll。
    hP3hmrw.png
  11. brpop key1 ...... keyN timeout  同blpop,一个是从头部删除一个是从尾部删除。
    huCno0Z.png
  12. lpushx key string  在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。
    lZhQh8P.png
  13. rpushx key string   在key对应list的尾部添加字符串元素。
    K8XklJC.png
  14. lindex key index  根据索引值返回指定KEY LIST中的元素。0为第一个元素,1为第二个元素。-1为倒数第一个元素,-2为倒数第二个元素。如果指定了一个不存在的索引值,则返回FLASE。
    BAP0rDL.png
  15. linsert  在指定LIST中的指定中枢VALUE的左侧或者右侧插入VALUE。如果这个LIST不存在,或者这个pivot(key position)不存在,那么这个VALUE不会被插入。
    7Sq9Xy8.png
  16. rpoplpush  从源LIST的最后弹出一个元素,并且把这个元素从目标LIST的顶部(左侧)压入目标LIST。
    wI7c5L4.png
  17. brpoplpush &emsop;从源LIST的最后弹出一个元素,并且把这个元素从目标LIST的顶部(左侧)压入目标LIST。
    7PXnifV.png

转载于:https://www.cnblogs.com/jack1995/p/7507240.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值