在 Redis 中,List(列表)类型是按照元素的插入顺序排序的字符串列表。你可以在列表的头部(左边)或者尾部(右部)添加新的元素。一个列表最多可以包含 2 32 − 1 2^{32} - 1 232−1 (4294967295)个元素(每个列表可以存储超过40亿个元素)。
LPUSH 命令的语法如下:
LPUSH key value [value ...]
作用:LPUSH 用于将一个或多个 value 插入列表 key 的表头。如果 key 并不存在,Redis 将为该 key 创建一个新的列表。
返回值:执行 LPUSH 命令后,列表 key 的长度。
示例:
127.0.0.1:6379> LPUSH mykey 1
(integer) 1
127.0.0.1:6379> LPUSH mykey 2
(integer) 2
127.0.0.1:6379> LRANGE mylist 0 -1
1) "2"
2) "1"
一次性插入多个值到列表:
127.0.0.1:6379> LPUSH mykey 1 2
(integer) 2
LPUSHX 命令的语法如下:
LPUSHX key value [value ...]
作用:LPUSHX 用于将一个或多个 value 插入列表 key 的表头。如果 key 并不存在,LPUSHX 什么也不做。
返回值:执行 LPUSH 命令后,列表 key 的长度。如果 key 并不存在,返回 0。
示例:
127.0.0.1:6379> LLEN mylist #mylist是一个空列表
(integer) 0
127.0.0.1:6379> LPUSHX mylist 1 #尝试执行LPUSHX命令,失败,因为列表为空
(integer) 0
127.0.0.1:6379> LPUSH mylist 1 # 使用 LPUSH 创建一个只有一个元素的列表
(integer) 1
127.0.0.1:6379> LPUSHX mylist 2 # 这次 LPUSHX 命令可以执行成功
(integer) 2
127.0.0.1:6379> LRANGE mylist 0 -1
1) "2"
2) "1"
RPUSH 命令的语法如下:
RPUSH key value [value ...]
作用:RPUSH 用于将一个或多个 value 插入列表 key 的表尾。如果 key 并不存在,Redis 将为该 key 创建一个新的列表。
返回值:执行 RPUSH 命令后,列表 key 的长度。
示例:
127.0.0.1:6379> RPUSH mykey 1
(integer) 1
127.0.0.1:6379> RPUSH mykey 2
(integer) 2
127.0.0.1:6379> LRANGE mylist 0 -1
1) "1"
2) "2"
一次性插入多个值到列表:
127.0.0.1:6379> RPUSH mykey 1 2
(integer) 2
RPUSHX 命令的语法如下:
RPUSHX key value [value ...]
作用:RPUSHX 用于将一个或多个 value 插入列表 key 的表头。如果 key 并不存在,RPUSHX 什么也不做。
返回值:执行 RPUSHX 命令后,列表 key 的长度。如果 key 并不存在,返回 0。
示例:
127.0.0.1:6379> LLEN mylist #mylist是一个空列表
(integer) 0
127.0.0.1:6379> RPUSHX mylist 1 #尝试执行LPUSHX命令,失败,因为列表为空
(integer) 0
127.0.0.1:6379> RPUSH mylist 1 # 使用 RPUSH 创建一个只有一个元素的列表
(integer) 1
127.0.0.1:6379> RPUSHX mylist 2 # 这次 RPUSHX 命令可以执行成功
(integer) 2
127.0.0.1:6379> RPUSHX mylist 0 -1
1) "1"
2) "2"
该文章会更新,欢迎大家批评指正。
推荐一个零声学院免费公开课程,个人觉得老师讲得不错,
分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:
服务器课程:C++服务器