在Redis列表类型常用命令总结
列表类型介绍列表类型也是一个我们使用很长的类型。例如,我们博客,我们需要使用博客列表。如果没有列表,我们只能通过传递密钥访问所有文章或部分文章。这个语法是键,但是这个命令需要遍历数据库中的所有键并在性能中考虑。不推荐在生产环境中使用。
列表类型可以存储一个字符串的排序列表,和常见的操作是添加,删除,得到的元素,或一个片段在列表的两端。在使用,它是由双链表的实现方式。因此,在列表两端添加删除元素的时间复杂度是O(1)。更快的元素得到的速度就越快。但是通过索引访问元素将是缓慢的,尤其是当这个名单很长。但是如果你只是得到一些之前或在队列的末尾的元素,这是队列长度无关。所以这里的队列给我们检查功能很适合,以及一些新功能的开发,和日志也很好。
1。添加元素的命令
将元素添加到列表的两端:
redis > lpush关键价值{价值…}
redis > rpush关键价值{价值…}
它明白lpush的L是左边的也容易,将元素添加到列表的左侧,和R是右右侧的意义。(lpush,rpush类似操作队列,向左推,向右推)。
C:程序文件 redis > redis-cli.exe
127.0.0.1:6379 > *键
(空列表或集合)
127.0.0.1:6379 > lpush mylist 0
(整数)1
127.0.0.1:6379 > rpush mylist 1
(整数)2
127.0.0.1:6379 > lpush mylist - 1 - 2
(整数)4
127.0.0.1:6379 > lrange mylist 0-1
1)2
2)1
3)0
4)1
返回值是列表的长度。这里的推值可以不止一个,但是有一个点要解释。像左上推,两个值,1和2。事实上,列表的值是按这种方式排序的,即2、1, 0和1,因此即使推同时为多个,它实际上是一个插入列表,但是这些操作将是原子的。
2。弹出元素命令
redis > LPOP关键
redis >农作物关键
这是一个很好的理解。它们是从左边、右边从右边弹出的,返回值是弹出值(弹出的意思是删除值并返回值)。
127.0.0.1:6379 > lrange mylist 0-1
1)2
2)1
3)0
4)1
127.0.0.1:6379 > LPOP mylist
2
127.0.0.1:6379 >农作物mylist
1
127.0.0.1:6379 > lrange mylist 0-1
1)1
2)0
堆栈和队列可以通过上面四个命令的组合来实现。
Stacks:lpush、LPOP或使用rpush和农作物。
队列:lpush和农作物或使用rpush、LPOP。
三.获取列表中元素的个数
redis >同步的关键
当键不存在,则返回0,这可以猜想如果是研究下去。时间复杂度,执行此命令redis是O(1),与O(n)在一个关系型数据库。
127.0.0.1:6379 >同步mylist
(整数)2
4。获取列表片段
redis > lrange键启动停止
lrange命令通常用于返回一个从开始的所有元素的列表,停止,并从0开始和停止启动。
127.0.0.1:6379 > lrange mylist 0-1
1)1
2)0
Lrange也支持负指数是负的,在这里我们可以把负面的价值从一些直接的理解正确。
例如,数字的值是2,1, 0, 1,如果我们执行lrange数- 2 - 1,最后两个值,将得到的。和lrange数0-1是我们经常使用到的所有列表命令。
这里有两点值得注意:
(1)如果起始索引晚于停止索引位置(这里是位置,而不是索引值的大小),则返回空列表(空列表或set)。
(2)如果停止大于实际索引范围,则返回在列表中最后更改的元素。
5。删除列表中的指定值。
redis > lrem关键值
的lrem命令删除原列表中的值计算的元素,并返回,实际上是被删除的元素个数,实际数的大小是不同的,不同的执行模式。
(1)计数> 0:从列表左边删除前一个值的值的元素。
(2)计数< 0:从右边删除
(3)计数= 0:删除所有
返回值是已删除值的个数。
6。获取/设置指定索引的元素值。
redis >成为关键指标
redis > LSet关键指标值
应该很好理解,特别是解释,如果指数是负的,这是正确的从正确的计算指标,和lrange负价值是一个意义。
127.0.0.1:6379 > lrange mylist 0-1
1)0
2)1
3)2
4)3
127.0.0.1:6379 > Lindex mylist 0
0
127.0.0.1:6379 > Lindex mylist 3
3
127.0.0.1:6379 > Lindex mylist - 1
3
7。只保留指定的片段在列表中
redis > LTrim关键开始结束
这里没有特别的解释。
127.0.0.1:6379 > lrange mylist 0-1
1)0
2)1
3)2
4)3
127.0.0.1:6379 > Lindex mylist 0
0
127.0.0.1:6379 > Lindex mylist 3
3
127.0.0.1:6379 > Lindex mylist - 1
3
127.0.0.1:6379 > LTrim mylist 02
好啊
127.0.0.1:6379 > lrange mylist 0-1
1)0
2)1
3)2
8。将元素插入列表中
现在我们列表中的值是0,- 1,- 2。
redis > linsert关键在|后枢轴值
127.0.0.1:6379 > linsert mylist前01
(整数)在插入1前面的4 0值
127.0.0.1:6379 > lrange mylist 0-1
1)1
2)0
3)1
4)2
127.0.0.1:6379 > linsert mylist后11
(整数)5在1的值返回到1。
127.0.0.1:6379 > lrange mylist 0-1
1)1
2)1
3)0
4)1
5)2
127.0.0.1:6379 > linsert mylist后- 1 - 1.5
(整数)6 - 1 -返回到1.5中的值。
127.0.0.1:6379 > lrange mylist 0-1
1)1
2)1
3)0
4)1
5)1.5
6)2
列表中的值现在是1,1,0,- 1,- 1.5,和-2.the linsert命令将首先查找列表中的一个价值支点的元素,然后添加元素之前或之后的之前或之后。
9。将元素从一个列表转储到另一个列表
redis > rpoplpush源目的地
这个命令是非常有趣的,第一次执行农作物然后执行lpush。这个命令会首先弹出从源右边的元素并将其插入到目标表的左和返回的元素的值。整个过程也是原子。
总结
这里我们介绍了列表类型命令。很简单吗我希望这篇文章能帮助你学习或工作。如果有任何问题,您可以留言。