redis数据类型二之list的操作命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis数据类型二之list的操作命令相关的知识,希望对你有一定的参考价值。
1、字符串链表 list 的特点
首先在redis官网上找到这个:
如图示,redis lists就是一个有序元素组成的的序列,是由Linked Lists实现的。这意味这你在一个10个元素的 list 的头部或者尾部插入新的元素,和在一个有一百万个元素的list的头部或尾部中插入元素所耗费的时间是一样一样的。
性能总结:
a、如果插入的键不存在,则默认创建一个list;如果插入的键存在,则新增元素。
b、如果插入的内容全部被移除,则对应的键消失。
c、链表的操作如是是对于头部或者尾部,效率极高;如果对中间进行操作,效率就很惨淡。
2、常用的操作命令:
a、lpush/rpush/lrange: 将一个或者多个元素插入到列表头部/将一个或者多个元素追加到这列表中/取出列表给定范围的元素
可以看到,lpush 指令 和 rpush 指令在库中没有指定list时,为添加list操作。( lpush 为list 头部添加元素,类似 Java 堆栈中的后进先出。)lrange 指令后两个之为索引,如果 指令为 lrange list01 0 -1,则取出整个 list 中的元素。
图示为 lpush 指令在头部插入两个元素,先插入的在后,后插入的在前。
b、lpop/rpop: 移除 list 列表中的头一个/最后一个元素
c、llen: 获取 list 的长度
d、lrem key 删 N 个value: 删除指定 list 的指定字符串的指定个数
e、ltrim key 开始index 结束index: 截取指定范围内的值再赋值给 key
f、rpoplpush 源列表 目标列表: 将源列表的最后一个移动到目标列表的头一个
g、lset key index value: 替换 list 中指定索引位置的字符串
h、llinsert key before/after 值1 值2: 在 list 列表中指定 字符串1 前/后插入 字符串2
本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1923709
以上是关于redis数据类型二之list的操作命令的主要内容,如果未能解决你的问题,请参考以下文章