Redis数据类型-List列表类型

 

介绍:

列表类型(list)可以存储一个有序的字符串列表,常用的操作时向列表两端添加元素,或者或者列表的某一个片段。

 

列表类型内部是使用双向链表实现的。所以向列表两端添加元素的时间复杂度为O(1),获取越接近两端的元素速度就越快。不过使用链表的代价是通过索引访问元素比较慢,列表也适合用来记录日志,可以保证加入新日志的速度也不会受到已有日志数量的影响。一个列表类型键最多能容纳2的32次方-1个值

 

命令:

 

命令 说明 示例
LPUSH key value value1... 向列表左边增加元素,返回值表示增加元素后列表的长度。 LPUSH num 1 2
RPUSH key value value1... 向列表右边增加元素,返回值表示增加元素后列表的长度。 RPUSH num 3 4
LPOP key 从左边弹出元素,第一步是将列表左边的元素从列表中移除,第二步是返回被移除的元素值 LPOP num
RPOP key 从右边弹出元素,第一步是将列表左边的元素从列表中移除,第二步是返回被移除的元素值 RPOP num
LLEN key 获取列表中元素的个数,键不存在时返回0,时间复杂度O(1) LLEN num
LRANGE key start stop 获取列表中的片段,不对获取的片段删除,返回索引从start到stop之间的所有元素(包括两端的元素),支持负值 LRANGE num 1 2
LREM key count value 删除列表中前count个值为value的元素,返回是实际删除的元素个数。count>0从左边开始删除,count<0从右边开始删除,count=0删除所有值为value的元素 LREM key 1 1
LINDEX key index 返回指定索引的元素,索引从0开始,如果index为负数,则从最右边开始 LINDEX key 1
LSET key index value 将索引为index的元素赋值为value LSET key 1 100
LTRIM key start end 删除指定索引范围之外的所有元素 LTRIM key 1 2
LINSERT key BEFORE|AFTER pivot value 首先在列表中从坐到右查找值为pivot的元素,然后根据第二次参数BEFORE或者AFTER来决定将value插入到元素的前面还是后面,返回列表的元素的个数 LINSERT key BEFORE 100 99 
RPOPLPUSH source destination 先执行RPOP命令再执行LPUSH命令,先从source列表右边弹出一个元素,然后将其加入到destination列表类型键的左边,返回这个元素的值 RPOPLPUSH from to
posted @ 2021-01-10 18:56  领悟65  阅读(58)  评论(0)    收藏  举报