Redis-客户端命令
wenking 8/25/2024 redis
# List
# 介绍
列表类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element) ,一个列表最多可以存储2^32-1个元素。
列表顺序从左往右索引增加,包含正数索引和倒数索引,两者关系如下:
lpush rpush
a b c d e
正数索引 0 1 2 3 4
倒数索引 -5 -4 -3 -2 -1
1
2
3
4
5
2
3
4
5
# crud
# 将元素从列表 头部/尾部 中 插入/移除
# 列表头部插入
lpush key value [value ...]
# 列表头部移除 列表如果不存在,返回 nil
lpop key
# 列表尾部插入
rpush key value [value ...]
# 列表尾部移除 列表如果不存在,返回 nil
rpop key
# 和 lpush 区别: 当 key 不存在时,lpush会创建一个列表,而 lpushx 则会直接返回
lpushx key value [value ...]
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
应用:
lpush和rpop
可以很好的实现先进先出队列lpush和lpop
可以很好的实现栈结构
# 随机访问
# 获取指定索引位置的元素
lindex key index
# 向列表中特定元素前面或后面插入新元素 pivot 为列表中某个元素, 返回值为插入后列表长度
linsert key BEFORE|AFTER pivot value
# 获取列表长度, 列表不存在则返回0
llen key
# 读取 key 中指定范围的元素
lrange key start end
# 读取 lst 列表中所有元素
lrange lst 0 -1
# 读取 lst 列表中 第3 到 第11 个元素; [2, 10] 闭合区间
lrange lst 2 10
# 读取 lst 列表中 最后n个元素 [-3, -1] , -1:表示列表中最后一个元素
lrange lst -n -1
# 设置列表指定索引位置的元素值
lset key index value
# 移除列表中与给定值相等的元素, count 指定个数, 返回值为移除元素的数量
# count为正数:表示从列表头部开始向尾部搜索,并移除与value相等的元素
# count为负数:表示从列表尾部开始向头部搜索,并移除与value相等的元素
# count为0:移除与value相等的所有元素
lrem key count value
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 列表特殊操作
# 删除列表中指定范围以外的所有元素
ltrim key start stop
# 从列表中左/右取出元素,当列表中元素为空,则阻塞等待 timeout
blpop/brpop key timeout
1
2
3
4
5
2
3
4
5