ZSCAN
命令在 Redis 中用于迭代有序集合(sorted set)中的元素
ZSCAN
命令的基本語法如下:
ZSCAN <key> [MATCH pattern] [COUNT count]
參數(shù)說明:
<key>
:有序集合的鍵名。MATCH pattern
(可選):用于匹配集合中的元素的模式??梢允褂猛ㄅ浞?*
和 ?
。COUNT count
(可選):指定每次迭代返回的元素?cái)?shù)量。默認(rèn)值為 10。ZSCAN
命令返回兩個(gè)值:游標(biāo)的當(dāng)前值(cursor)和一個(gè)包含當(dāng)前迭代結(jié)果的數(shù)組。游標(biāo)用于在后續(xù)迭代中繼續(xù)掃描集合。
下面是一個(gè)使用 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
在這個(gè)示例中,我們首先使用 ZADD
命令向有序集合 my_sorted_set
中添加了一些元素。然后,我們使用 ZSCAN
命令迭代集合中的元素,并使用 MATCH
參數(shù)匹配包含 “two” 的元素。最后,我們打印出每次迭代的游標(biāo)和結(jié)果。
注意:在使用 ZSCAN
命令時(shí),建議將游標(biāo)值傳遞給下一次 ZSCAN
調(diào)用,以便繼續(xù)迭代。這樣可以避免重復(fù)掃描整個(gè)集合。