List类型
List命令一班是L开头的
将一个值或多个值插入到头部
lpush list one
将一个值或多个值插入到尾部
rpush list one
获取list中的全部值
lrange list 0 -1
获取索引区间的值
lrang list 0 2
移除list中的第一个值
lpop list
移除list中的最后一个值
rpop list
通过下标去获取list中的值
lindex list 1
返回list的长度
llen list
移出list中指定个数元素
lrem list 2 one
修剪元素(会改变list 只保留剩下截取的值)
ltrim list 1 2
移动操作 将list做一个值移动到另一个list中添加为第一个值
rpoplpush list list2
将指定下标的值设置为新的值(如果下标不存在会报错)
lset list 1 item
判断这个list是否存在
exists list
将某个值插入到list中的某个值的前面或者后面
linsert list befor world other #将world插入到other的前面
linsert list after world other #将woeld插入到other的后面
小结:
- list实际上是一个链表,befor Node after left right 都可以插入值
- 如果key不存在,就会创建新的链表
- 如果key存在,就会新增新的内容
- 如果移除了所有值,空链表将不存在
- 两边插入或者改动值效率是最高的,中间的元素相对来说效率会低一些
- 消息排队!!消息队列(lpush rpop) 栈(lpush lpop)