Redis系统学习之五大基本数据类型(List(列表))

List(列表)

 
  • 这个就比较有意思了
    • 如果从左边添加,右边获取,就可以实现队列的功能
    • 如果从左边添加,左边获取,就可以实现栈的功能
    • 如果是可以两面添加,两边获取就可以实现阻塞队列的功能

左边添加值

  • lpush key value
    • image

获取值(范围)

  • lrange key startindex endindex
    • 因为是一直从左边添加的,符合压栈的规则先进去的后出来,所以顶部的是3,获取前两个就是3,2
    • image
 

右边添加值

  • rpush key value
    • 可以看到 0 被放到了1的下面
    • image
  • 没有rrange,只有从左侧开始 startindex endindex 获取范围

移除并返回左边第一个元素

  • lpop key
    • 移除左边第一个元素
    • image

移除并返回右边第一个元素

  • rpop key
    • 移除右面第一个元素
    • image

根据下标获取元素

  • lindex key index
    • 根据索引获取指定元素,下标从0开始,-1代表获取最后一个值
    • image

获取元素的长度

  • llen key
    • 获取元素的个数
    • image

移除指定的元素

  • lrem key 数量 值
    • 移除一个1
    • image
    • 因为是list所以允许有重复元素
    • 移除两个3
    • image
    • 弹幕:数量大于0,是从前面开始移除,=0是全部移除,<0是从后面移除

截取元素

  • ltrim key startindex endindex
    • 截取前两个
    • image
 

从源list右边移除一个元素添加到指定list的左边

  • rpoplpush sourcelist distlist
    • image
 

指定元素值替换(前提是list必须存在,索引元素也必须存在,不存在就会报错)

  • lset key index value
    • 将5替换成0
    • image

指定元素之前或之后插入元素

  • linsert key before|after 指定元素值 插入值
    • 在3的后面插入3.5,如果list中存在重复的指定元素,以最前面的为准
    • image

删除list

  • del key

使用场景:

  • 队列,栈(消息队列,消息排队)

作者:彼岸舞

时间:202155

内容关于:Redis

本文属于作者原创,未经允许,禁止转发

原文地址:https://www.cnblogs.com/flower-dance/p/14731095.html