Redis数据类型 之 list
list列表:有序、能重复,相当于Java代码中的List。
可以将Redis中的list当作一个两头开口的管子:
- lpush是从左往右依次往管中放数据
- rpush是从右往左依次往管中放数据
- lrange是从左往右从管中取数据
- 下标从左往右依次增大
lpush key value
将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。
rpush key value [value ...]
将一个或多个值 value 插入到列表 key 的表尾(最右边)。
lrange key start stop
返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定 注意:如果stop=-1表示取出所有的元素。
lset key index value
将列表 key 下标为 index 的元素的值设置为 value 。
lindex key index
返回列表 key 中,下标为 index 的元素。
llen key
返回列表 key 的长度。
linsert key before|after pivot value
将值 value 插入到列表 key 当中,位置在 pivot 之前或之后。
- 当 pivot 不存在于列表 key 时,不执行任何操作。
- 当 key 不存在时, key 被视为空列表,不执行任何操作。
ltrim key start stop
对一个列表进行修剪(trim),让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
lpop key
移除并返回列表 key 的第一个元素。
rpop key
移除并返回列表 key 的最后一个元素。
rpoplpush source destination
命令 rpoplpush 在一个原子时间内,执行以下两个动作:
- 将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。
- 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。
- 如果source和destination是同一个列表,就实现了环形操作
- 环形操作