Redis系统学习之五大基本数据类型(List(列表))
List(列表)
- 这个就比较有意思了
- 如果从左边添加,右边获取,就可以实现队列的功能
- 如果从左边添加,左边获取,就可以实现栈的功能
- 如果是可以两面添加,两边获取就可以实现阻塞队列的功能
左边添加值
- lpush key value
获取值(范围)
- lrange key startindex endindex
- 因为是一直从左边添加的,符合压栈的规则先进去的后出来,所以顶部的是3,获取前两个就是3,2
右边添加值
- rpush key value
- 可以看到 0 被放到了1的下面
- 没有rrange,只有从左侧开始 startindex endindex 获取范围
移除并返回左边第一个元素
- lpop key
- 移除左边第一个元素
移除并返回右边第一个元素
- rpop key
- 移除右面第一个元素
根据下标获取元素
- lindex key index
- 根据索引获取指定元素,下标从0开始,-1代表获取最后一个值
获取元素的长度
- llen key
- 获取元素的个数
移除指定的元素
- lrem key 数量 值
- 移除一个1
- 因为是list所以允许有重复元素
- 移除两个3
- 弹幕:数量大于0,是从前面开始移除,=0是全部移除,<0是从后面移除
截取元素
- ltrim key startindex endindex
- 截取前两个
从源list右边移除一个元素添加到指定list的左边
- rpoplpush sourcelist distlist
指定元素值替换(前提是list必须存在,索引元素也必须存在,不存在就会报错)
- lset key index value
- 将5替换成0
指定元素之前或之后插入元素
- linsert key before|after 指定元素值 插入值
- 在3的后面插入3.5,如果list中存在重复的指定元素,以最前面的为准
删除list
- del key
使用场景:
- 队列,栈(消息队列,消息排队)
作者:彼岸舞
时间:2021\05\05
内容关于:Redis
本文属于作者原创,未经允许,禁止转发