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 |

浙公网安备 33010602011771号