Redis LPUSH命令

Redis LPUSH命令教程

Redis 的 LPUSH 命令用于将一个或多个值 value 插入到 列表 KEY 的表头。如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头,这几个元素的插入操作是原子的。

如果 KEY 不存在,一个空列表会被创建并执行 LPUSH 操作。当 KEY 存在但不是列表类型时,返回一个错误。在 Redis 2.4 版本以前的 LPUSH 命令,都只接受单个 value 值。

Redis LPUSH命令详解

语法

192.168.98.70:6379> LPUSH KEY value [value ...]

参数

参数 描述
KEY 要添加元素的列表的键。
value 要添加的具体的元素。

返回值

执行 LPUSH 命令后,列表的长度。

时间复杂度

O(1)

可用版本

>= 1.0.0

案例

表头插入元素

LPUSH 命令插入元素,使用的是列表的头插法

192.168.98.70:6379> LPUSH haicoder Redis (integer) 1 192.168.98.70:6379> LPUSH haicoder Mongo (integer) 2 192.168.98.70:6379> LPUSH haicoder Mysql (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Mysql" 2) "Mongo" 3) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Redis。接着,使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Mongo。

使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Mysql。最后,使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素。

因为插入时使用了 LPUSH 即从头部开始插入,所以最终元素的顺序为 LPUSH 插入时的倒序。

插入重复元素

列表可以支持插入重复元素

192.168.98.70:6379> LPUSH haicoder Redis (integer) 1 192.168.98.70:6379> LPUSH haicoder Mongo (integer) 2 192.168.98.70:6379> LPUSH haicoder Redis (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Redis" 2) "Mongo" 3) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Redis。使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Mongo。

接着,我们使用 LPUSH 命令,向键为 haicoder 的列表的头部插入值 Redis。最后,使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素,这里可以看出重复插入了值 Redis 但两个值都在列表中。

插入多个元素

LPUSH 支持一次插入多个元素

192.168.98.70:6379> LPUSH haicoder Redis Mongo Mysql (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Mysql" 2) "Mongo" 3) "Redis" 192.168.98.70:6379> DEL haicoder (integer) 1

我们首先,使用 LPUSH 命令,向键为 haicoder 的列表中批量插入值 Redis、Mongo 和 Mysql。这三个值的插入操作是原子性的。

接着,使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素,因为插入时使用了 LPUSH 即从头部开始插入,所以最终元素的顺序为 LPUSH 插入时的倒序。

Redis LPUSH命令教程

Redis 的 LPUSH 命令用于将一个或多个值 value 插入到列表 KEY 的表头。Redis LPUSH 命令语法:

192.168.98.70:6379> LPUSH KEY value [value ...]