ZSCAN
命令在 Redis 中用于迭代有序集合(sorted set)中的元素
ZSCAN
命令的基本语法如下:
ZSCAN <key> [MATCH pattern] [COUNT count]
参数说明:
<key>
:有序集合的键名。MATCH pattern
(可选):用于匹配集合中的元素的模式。可以使用通配符 *
和 ?
。COUNT count
(可选):指定每次迭代返回的元素数量。默认值为 10。ZSCAN
命令返回两个值:游标的当前值(cursor)和一个包含当前迭代结果的数组。游标用于在后续迭代中继续扫描集合。
下面是一个使用 ZSCAN
命令的示例:
127.0.0.1:6379> ZADD my_sorted_set 1 "one" 2 "two" 3 "three" 4 "four" 5 "five"
(integer) 6
127.0.0.1:6379> ZSCAN my_sorted_set 0 MATCH "two" COUNT 1
1) "1"
2) 1) "two"
2) (integer) 5
在这个示例中,我们首先使用 ZADD
命令向有序集合 my_sorted_set
中添加了一些元素。然后,我们使用 ZSCAN
命令迭代集合中的元素,并使用 MATCH
参数匹配包含 “two” 的元素。最后,我们打印出每次迭代的游标和结果。
注意:在使用 ZSCAN
命令时,建议将游标值传递给下一次 ZSCAN
调用,以便继续迭代。这样可以避免重复扫描整个集合。