redis学习-List类型相关命令以及特殊情况分析

目录

1. lpush key value1 value2 ...  

 2. lrange key start end

 3. lpop key num

 4. rpush key value1 value2 ...

 5. rpop key num

 6. lindex key index

 7. llen key

 8. lrem key num value

 9. rpoplpush key1 key2

 10. lset key index value

 11. linsert key before/after value newvalue


        接下来的所有类型的操作中,-1都代表最后

        List采用链表的存储结构,可以将List当做栈或队列来使用

1. lpush key value1 value2 ...  

        List类型操作,用于将所有的值从左端插入到一个List中,相当于入栈,最后一个元素的编号为0(后进先出,所以最后一个元素就是栈顶元素,编号为0)。执行结束后返回list中元素的个数。

2. lrange key start end

        获取一个List中部分区间的值,闭区间,要注意start不能大于end,-1除外,因为-1代表末尾元素。获取一个List的所有元素就是lrange list 0 -1。

3. lpop key num

        从编号为0的元素开始取出一个List中指定数量的元素,并按顺序返回取出的元素;如果不加num则默认取出1个元素,也就表示取出头部元素;当所有元素被取出时该List就不存在了。执行结束后按照顺序返回所弹出的元素。

4. rpush key value1 value2 ...

        用于将所有的值从右端插入到一个List中,相当于入队,第一个元素编号为0。执行结束后返回list中元素的个数。

5. rpop key num

        从最后一个元素开始取出一个List中指定数量的元素,并按顺序返回取出的元素;如果不加num则默认表示取出一个元素,也就是取出尾部元素;当所有元素被取出时该List就不存在了。执行结束后按照顺序返回所弹出的元素。

        通过一个混合使用的例子方便理解lpush、lpop、rpush、rpop:

6. lindex key index

        获取指定List的指定序号的元素。

7. llen key

        获取指定List的长度。

8. lrem key num value

        从第一个元素开始移除一个List中指定数量的指定value的元素,返回移除元素的数量(注意,这里的第一个元素是实际存储的第一个元素,而不是输入的第一个元素,具体要看是lpush还是rpush)。

        lpush:

        rpush: 

         当移除的list不存在或者移除的元素不存在时,会返回0代表移除了0个元素:

9. rpoplpush key1 key2

        从key1的List中取出最后一个元素并放到key2的List的头部,当key2不存在时则会创建一个;key1和key2可以相同,代表将末尾元素移到头部。返回值则是移动的元素。

        当key1(源list)不存在时,则会返回nil:

10. lset key index value

        修改指定List的指定位置的值,仅当key存在且index位置有值时才能生效。

11. linsert key before/after value newvalue

        在一个List的指定value的前面/后面插入一个值为newvalue的元素;当value不存在时命令无效,且仅对从头部开始的第一个值为value的元素生效。

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值