Redis常用命令列表类型
向列表两端增加元素
lpush key value [ value ....... ]
lpush 命令用来向列表左边增加元素,返回表示增加元素后列表的长度
rpush key value [ value ....... ]
rpush 命令用来向列表右边增加元素,返回表示增加元素后列表的长度
从列表两端弹出元素
lpop key
lpop 命令可以从列表左边弹出一个元素,lpop 命令执行两步操作,1:将列表左边的元素从列表中移除,2:返回被移除元素值
rpop key
rpop 命令可以从列表右边弹出一个元素,同上。
获取列表中元素个数
llen key
当键不存在时,llen 返回 0
获得列表片段
lrange key start stop
获得列表中的某一片段,返回索引从 start 到 stop 之间的所有元素(包括两端的元素) 索引开始为 0
注:lrange 与很多语言中用来截取数组片段的方法有一点区别是 lrange 返回的值包含最右边的元素
lrange 命令也支持负索引,表是从右边开始计算序数,如 ' -1 ' 表示最右边第一个元素, ' -2 ' 表示最右边第二个元素,一次类推
删除列表中指定的值
lrem key count value
lrem 命令会删除列表中前 count 个值为 value 的元素,返回值是实际删除的元素个数。根据count 值的不同,lrem 命令执行的方式会略有差异
当 count > 0 时,lrem 命令会从列表左边开始删除前 count 个值为 value 的元素
当 count < 0 时,lrem 命令会从列表右边开始删除前count 个值为 value 的元素
当 count = 0 时,lrem 命令会删除所有值为value的元素
获得 / 设置 指定索引的元素值
lindex key index
lindex 命令用来返回指定索引的元素,索引从 0 开始 ,如果 index 是负数则表示从右边开始计算的索引,最右边元素的索引是 -1
lset key index value
lset 是通过索引操作列表的命令,它会将索引为 index 的元素赋值为 value
只保留列表指定片段
ltrim key start end
ltrim 命令可以删除指定索引范围之外的所有元素,其指定列表范围的方法和 lrange 命令相同
ltrim 命令常和 lpush 命令一起使用来限制列表中元素的数量,比如记录日志时我们希望只保留最近的 100 条日志,则每次加入新元素时,再调用一次ltrim 命令即可;
向列表中插入元素
linsert key before | after pivot value
linsert 命令首先会在列表中从左到右查找值为 pivot 的元素,然后根据第二个参数是 before 还是 after 来决定将 value 插入到该元素的前面还是后面,如果命令执行成功,返回插入操作完成之后列表的长度。如果没有找到 pivot 返回 -1 如果key 不存在或为空,返回 0
将元素从一个列表转到另一个列表R
rpoplpush source destination
rpoplpush 先执行 rpop 命令在执行 lpush 命令。rpoplpush 命令先会从source 列表类型键的右边弹出一个元素,然后将其加入到 destination 列表类型键的左边,并返回这个元素的值,整个过程是原子的。
-END-