天天看点

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

LPUSH

LPUSH key value [value …]      
可用版本: >= 1.0.0
时间复杂度: O(1)      

将一个或多个值​

​value​

​​插入到列表​

​key​

​​的表头,并且各个值​

​value​

​按从左到右的顺序依次插入。

演示

如果​

​key​

​​不存在,一个空列表​

​key​

​​会被创建并执行LPUSH操作。对空列表​

​key​

​​执行命令​

​LPUSH key a b c​

​​,列表的值将是​

​c b a​

​​,等同于执行​

​LPUSH key a​

​​ 、​

​LPUSH key b​

​​和​

​LPUSH key c​

​三个命令。执行LPUSH命令后,会返回列表的长度。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​ 存在但不是列表类型时,返回一个错误。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

在​

​Redis 2.4​

​​版本以前的LPUSH命令,都只接受单个​

​value​

​值。

LPUSHX

LPUSHX key value      
可用版本: >= 2.2.0
时间复杂度: O(1)      

当且仅当​

​key​

​​存在并且是一个列表,才将值​

​value​

​​插入到列表​

​key​

​的表头。

演示

和LPUSH命令不一样,当​

​key​

​不存在时, LPUSHX命令什么也不做。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​存在但不是列表类型时, LPUSHX命令会报错。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

LPUSHX命令执行之后,会返回列表的长度。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

RPUSH

RPUSH key value [value …]      
可用版本: >= 1.0.0
时间复杂度: O(1)      

将一个或多个值​

​value​

​​插入到列表​

​key​

​​的表尾,并且各个值​

​value​

​按从左到右的顺序依次插入。

演示

如果​

​key​

​​不存在,一个空列表​

​key​

​​会被创建并执行RPUSH操作。对一个空列表​

​key​

​​执行​

​RPUSH key a b c​

​​ ,列表的值将为 ​

​a b c​

​​ ,等同于执行命令​

​RPUSH key a​

​​、​

​RPUSH key b​

​​、​

​RPUSH key c​

​。执行RPUSH命令后,会返回表的长度。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍
Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​存在但不是列表类型时,命令会返回一个错误。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

RPUSHX

RPUSHX key value      
可用版本: >= 2.2.0
时间复杂度: O(1)      

当且仅当​

​key​

​​存在并且是一个列表,才将值​

​value​

​​插入到列表​

​key​

​的表尾。

演示

和RPUSH命令不一样,当​

​key​

​不存在时, RPUSHX命令什么也不做。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​存在但不是列表类型时, RPUSHX命令会报错。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

RPUSHX命令执行之后,会返回列表的长度。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

LPOP

LPOP key      
可用版本: >= 1.0.0
时间复杂度: O(1)      

移除并返回列表​

​key​

​的表头元素。

演示

当​

​key​

​​不存在时,LPOP命令会返回​

​(nil)​

​。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

LPOP命令会返回列表的表头元素。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​存在并且不是列表类型时,LPOP命令会报错。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

RPOP

RPOP key      
可用版本: >= 1.0.0
时间复杂度: O(1)      

移除并返回列表​

​key​

​的表尾元素。

演示

当​

​key​

​​不存在时,RPOP命令会返回​

​(nil)​

​。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

RPOP命令会返回列表的表尾元素。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

当​

​key​

​存在并且不是列表类型时,RPOP命令会报错。

Redis:列表LPUSH、LPUSHX、RPUSH、RPUSHX、LPOP、RPOP命令介绍

继续阅读