美文网首页
Redis那些事——List相关命令解析

Redis那些事——List相关命令解析

作者: IT小分享 | 来源:发表于2020-08-31 16:35 被阅读0次

这期探索Redis中list数据结构相关命令。list 是一系列有序值。一些与list 交互的重要的命令是RPUSH,LPUSH,LLEN,LRANGE,LPOP和RPOP

1 LPUSH key element [element ...]

将要存储的值从key对应的列表数据结构头部放进去。如果key不存在,则在执行推送操作之前将其创建为空列表。当key保存的值不是列表时,将返回错误。当保存成功,返回的是存储的个数。

​lpush保存操作示意图

2 RPUSH key value [value ...]

向存于 key 指向的数据结构列表的尾部插入所有指定的值。如果 key 不存在,那么会创建一个空的列表然后再进行保存。 当 key 保存的不是一个列表,那么会返回一个错误。

可以使用一个命令把多个元素存到队列,只需要在命令后面指定多个参数。元素是从左到右一个接一个从列表尾部插入。当保存成功,返回的是存储的个数。

​rpush保存操作示意图

3 LLEN key

获取存储在 key 里的list数据结构元素的个数。 如果 key 不存在,那么就被看作是空list,并且返回长度为 0。 当存储在 key 里的值不是一个list的话,会返回error。

​llen获取key对应数据结构元素个数

4 LRANGE key start stop

获取存储在 key 的列表数据结构指定范围内的元素。 start 和 end 偏移量都是基于0的下标,即list的第一个元素下标是0(list的表头),第二个元素下标是1,以此类推。

偏移量也可以是负数,表示偏移量是从list尾部开始计数。 例如, -1 表示列表的最后一个元素,-2 是倒数第二个,以此类推。

​lrange 获取从开头到结尾元素

​lrange 获取从结尾到开头元素

5 LPOP key

移除并且返回 key 对应的 list 的第一个元素。类似双向队列出队

​lpop 移除

6 RPOP key

移除并返回存于 key 的 list 的最后一个元素。类似双向队列出队

​rpop移除

相关文章

网友评论

      本文标题:Redis那些事——List相关命令解析

      本文链接:https://www.haomeiwen.com/subject/qwtpsktx.html