这期探索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移除
网友评论