Redis中列表list数据类型用法详解

        List是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。底层是一个双向链表,对两段操作性能极高,通过索引操作中间的节点性能较差。

        一个List最多可以包含 $2^{32}-1$个元素 ( 每个列表超过40亿个元素)。

  • 列表的元素类型为string
  • 按照插⼊顺序排序

使用场景:

  • 消息队列
  • 排行榜
  • 最新列表

1、增加

1.1 在左侧插⼊数据

        从左边(头部)插入一个或多个值。

lpush key value1 value2 ...

从键为a1的列表左侧加⼊数据a 、 b 、c

lpush a1 a b c

1.2 在右侧插⼊数据

        从右边(尾部)插入一个或多个值。

rpush key value1 value2 ...

从键为a1的列表右侧加⼊数据0、1:

rpush a1 0 1

1.3 在指定元素的前或后插⼊新元素   【help linsert】

        在列表中value值的前边/后边插入一个new value值(从左开始)。

linsert key before或after 现有元素 新元素

在键为a1的列表中元素b前加⼊3:

linsert a1 before b 3

2、获取

2.1 返回列表⾥指定范围内的元素

        返回key列表中的start和end之间的元素(包含start和end)。 其中 0 表示列表的第一个元素,-1表示最后一个元素。

lrange key start stop
  • startstop为元素的下标索引
  • 索引从左侧开始,第⼀个元素为0
  • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素

获取键为a1的列表所有元素:

lrange a1 0 -1

注意:没有 rrange!

2.2 获取索引为N的元素

        获取列表index位置的值(从左开始)。

 lindex key index

2.3 获取列表中元素的个数

llen key

2.4 截取索引再赋值给列表

ltrim list_ 2 5

2.5 列表1右边pop元素,从左边push进列表2

rpoplpush list_ list_2

3、设置指定索引位置的元素值   【更新】

        将索引为index的值设置为value。

  • 索引从左侧开始,第⼀个元素为0
  • 索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素

lset key index value

修改键为a1的列表中下标为1的元素值为z:

lset a1 1 z

4、删除

4.1 删除指定元素

        从左边开始删除与value相同的count个元素。

lrem key count value
  • 将列表中前count次出现的值为value的元素移除
  • count > 0: 从头往尾移除
  • count < 0: 从尾往头移除
  • count = 0: 移除所有      【删除的个数即为count的大小】

向列表a2中加⼊元素a、b、a、b、a、b:

lpush a2 a b a b a b

a2列表右侧开始删除2个b:

lrem a2 -2 b

查看列表a2的所有元素:

lrange a2 0 -1

4.2 从左边删除元素

        移除并返回第一个值。

lpop key

注意

  • 值在键在,值光键亡。 

4.3 从右边删除元素

        移除并返回最后一个值。

rpop key

注意

  • 值在键在,值光键亡。 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值