ZSCAN
语法
ZSCAN zsetKey cursor [MATCH pattern] [COUNT count]
ZSCAN 是 SCAN命令相似,不过ZSCAN 命令用于迭代 有序集合(zset类型)中的元素
MATCH 子句
正则匹配有序集合中的key。
- *代表任意字符,0到多个
- ?代表一个任意字符
COUNT 子句
每次读取有序集合中 元素 的数量,如果数据集合较小,会不起作用,直接返回所有元素
- COUNT 参数的默认值为 10 。
例子
准备zset类型 数据
127.0.0.1:6379[11]> ZRANGE z1 0 -1
1) "a"
2) "b"
3) "c"
127.0.0.1:6379[11]> ZADD z1 1 a1 2 b2 3 c3 4 a2 5 b2 6 c2 7 a3 8 b2 9 c3
(integer) 6
127.0.0.1:6379[11]> ZRANGE z1 0 -1 withscores
1) "a1"
2) "1"
3) "a"
4) "2"
5) "b"
6) "3"
7) "a2"
8) "4"
9) "c"
10) "4"
11) "c2"
12) "6"
13) "a3"
14) "7"
15) "b2"
16) "8"
17) "c3"
18) "9"
127.0.0.1:6379[11]>
ZSCAN 命令 演示
127.0.0.1:6379[11]> ZSCAN z1 0 ## 遍历 z1 的所有元素
1) "0"
2) 1) "a1"
2) "1"
3) "a"
4) "2"
5) "b"
6) "3"
7) "a2"
8) "4"
9) "c"
10) "4"
11) "c2"
12) "6"
13) "a3"
14) "7"
15) "b2"
16) "8"
17) "c3"
18) "9"
127.0.0.1:6379[11]> ZSCAN z1 0 count 3 ## 遍历 z1 的所有元素,每次读取三个元素,由于z1数据量太小,所以不起作用
1) "0"
2) 1) "a1"
2) "1"
3) "a"
4) "2"
5) "b"
6) "3"
7) "a2"
8) "4"
9) "c"
10) "4"
11) "c2"
12) "6"
13) "a3"
14) "7"
15) "b2"
16) "8"
17) "c3"
18) "9"
127.0.0.1:6379[11]> ZSCAN z1 0 match a* ## 遍历 z1 以a开头的元素
1) "0"
2) 1) "a1"
2) "1"
3) "a"
4) "2"
5) "a2"
6) "4"
7) "a3"
8) "7"
127.0.0.1:6379[11]> ZSCAN z1 0 match *1 ## 遍历 z1 以1结尾的元素
1) "0"
2) 1) "a1"
2) "1"
127.0.0.1:6379[11]> ZSCAN z1 0 match *2 ## 遍历 z1 以2结尾的元素
1) "0"
2) 1) "a2"
2) "4"
3) "c2"
4) "6"
5) "b2"
6) "8"
127.0.0.1:6379[11]>
网友评论