行业知识
Redis【5】—— List类型
2026-11-03 18:39:43
来源:互联网转载
Redis【5】—— List类型
- 四、各类型指令介绍
- (三)List类型
- 1. 基本指令
- 2. 内部���码
四、各类型指令介绍
(三)List类型
1. 基本指令
lpush k1 1 2 3 4 lpush k1 5 6 7 8 # 两边都是闭区间 且 下标支持负数 lrange k1 0 -1 lrange k1 0 7 lrange k1 0 100 # 下标越界的话将尽可能获取
keys *lpushx key 1 2 3 4 5 # 会检查 key 是否 existslpush key 1 2 3rpush key 0 -1 -2lrange key 0 -1rpushx k2 1 2 3
lrange key 0 -1lpop keylpop keylrange key 0 -1rpop keyrpop keylrange key 0 -1
rpush key 0 1 2 3 4 5 6 7lrange key 0 -1lindex key 3lindex key -1lindex key 100
# 找的是第一个出现的基准值lrange key 0 -1linsert key before 2 100 # 插入到下标是2的元素之前lrange key 0 -1linsert key after 2 100 # 插入到下标是2的元素之后lrange key 0 -1# 获取列表长度llen k1llen key
# lrem 指定元素删除# count > 0 从左向右找删除 count 个 element# count = 0 删除所有的 element# count
rpush key 0 1 2 3 4 5 6 7 8 9 10lrange key 0 -1lset key 5 50 # lindex访问下标越界会返回nil,lset则直接报错lrange key 0 -1
# blpop brpop阻塞版本的命令# (1)如果队列为空,尝试出队列,就会产生阻塞。直到队列不空,阻塞解除 √# 如果队列为满,尝试入队列,也会产生阻塞。直到队列不满,阻塞解除 ×# (2)但此处 Redis 在阻塞期间(也就说有超时时间)也可以正常处理其他请求# (3)若有多个key,则会从左向右遍历,哪个列表先弹出就返回哪个# (4)多个客户端对同一个key执行pop,最先执行命令的客户端会先弹出元素rpush key 1 2 3 4blpop key 0lrange key 0 -1# A窗口blpop key 100# B窗口rpush key 1 2 3 4# A窗口立即返回结果# A窗口blpop k1 k2 k3 k4 500# B窗口lrange k1 0 -1lrange k2 0 -1lrange k3 0 -1lrange k4 0 -1lpush k1 1 2 3# A窗口立即返回结果
2. 内部编码
OBJECT encoding key