Redis 的 RPUSH 命令用于将一个或多个值 value 插入到列表 KEY 的表尾。如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表尾,这几个元素的插入操作是原子的。
如果 KEY 不存在,一个空 列表 会被创建并执行 RPUSH 操作。当 KEY 存在但不是列表类型时,返回一个错误。在 Redis 2.4 版本以前的 RPUSH 命令,都只接受单个 value 值。
192.168.98.70:6379> RPUSH KEY value [value ...]
参数 | 描述 |
---|---|
KEY | 要添加元素的列表的键。 |
value | 要添加的具体的元素。 |
执行 RPUSH 命令后,列表的长度。
O(1)
>= 1.0.0
RPUSH 命令插入元素,使用的是列表的尾插法
192.168.98.70:6379> RPUSH haicoder Redis (integer) 1 192.168.98.70:6379> RPUSH haicoder Mongo (integer) 2 192.168.98.70:6379> RPUSH haicoder Mysql (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Redis" 2) "Mongo" 3) "Mysql" 192.168.98.70:6379> DEL haicoder (integer) 1
我们首先,使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Redis。使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Mongo。
接着,我们使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Mysql。
最火,我们使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素,因为插入时使用了 RPUSH 即从尾部开始插入,所以最终元素的顺序为 RPUSH 插入时的顺序。
列表可以支持插入重复元素
192.168.98.70:6379> RPUSH haicoder Redis (integer) 1 192.168.98.70:6379> RPUSH haicoder Mongo (integer) 2 192.168.98.70:6379> RPUSH 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
首先,我们使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Redis。使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Mongo。
接着,我们使用 RPUSH 命令,向键为 haicoder 的列表的尾部插入值 Redis。最后,我们使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素,这里可以看出重复插入了值 Redis 但两个值都在列表中。
RPUSH 支持一次插入多个元素
192.168.98.70:6379> RPUSH haicoder Redis Mongo Mysql (integer) 3 192.168.98.70:6379> LRANGE haicoder 0 -1 1) "Redis" 2) "Mongo" 3) "Mysql" 192.168.98.70:6379> DEL haicoder (integer) 1
我们首先,使用 RPUSH 命令,向键为 haicoder 的列表中批量插入值 Redis、Mongo 和 Mysql。这三个值的插入操作是原子性的。
最后,我们使用 LRANGE 命令,获取键为 haicoder 的列表的所有元素,因为插入时使用了 RPUSH 即从尾部开始插入,所以最终元素的顺序为 RPUSH 插入时的顺序。
Redis 的 RPUSH 命令用于将一个或多个值 value 插入到列表 KEY 的表尾。Redis RPUSH 命令语法:
192.168.98.70:6379> RPUSH KEY value [value ...]