英[skæn]   美[skæn]  

vt.<計>掃描;細看;細查;(雷達)對…進行掃描

#n.掃描;瀏覽;檢視;(雷達)(螢幕上的)光點

vi.(光束、雷達等)掃描;掃略;(詩)符合韻律;標出詩的格律

第三人稱單數: scans 複數: scans 現在分詞: scanning 過去式: scanned 過去分詞: scanned

redis SCAN命令 語法

作用:SCAN 指令是一個基於遊標的迭代器(cursor based iterator): SCAN 指令每次被呼叫之後, 都會傳回一個新的遊標, 使用者在下次迭代時需要使用這個新遊標作為 SCAN 指令的遊標參數, 以此來延續先前的迭代過程。

語法:SCAN cursor [MATCH pattern] [COUNT count]

說明:當 SCAN 指令的遊標參數設定為 0 時,伺服器將開始一次新的迭代, 而當伺服器向使用者傳回值為 0 的遊標時, 表示迭代已結束。

可用版本:>= 2.8.0

#時間複雜度:增量式迭代指令每次執行的複雜度為O (1) , 對資料集進行一次完整迭代的複雜度為O(N) , 其中N 為資料集中的元素數量。

回傳:

SCAN 指令、 SSCAN 指令、 HSCAN 指令和 ZSCAN 指令都回傳一個包含兩個元素的multi-bulk 回覆: 回覆的第一個元素是字串表示的無符號64 位元整數(遊標), 回复的第二個元素是另一個 multi-bulk 回复, 這個 multi-bulk 回复包含了本次被迭代的元素。 SCAN 指令傳回的每個元素都是一個資料庫鍵。 SSCAN 指令傳回的每個元素都是一個集合成員。 HSCAN 指令傳回的每個元素都是一個鍵值對,一個鍵值對由一個鍵和一個值組成。 ZSCAN 指令傳回的每個元素都是一個有序集合元素,一個有序集合元素由一個成員(member)和一個分數(score)組成。

redis SCAN命令 範例

redis 127.0.0.1:6379> scan 0 MATCH *11*
1) "288"
2) 1) "key:911"
redis 127.0.0.1:6379> scan 288 MATCH *11*
1) "224"
2) (empty list or set)
redis 127.0.0.1:6379> scan 224 MATCH *11*
1) "80"
2) (empty list or set)
redis 127.0.0.1:6379> scan 80 MATCH *11*
1) "176"
2) (empty list or set)
redis 127.0.0.1:6379> scan 176 MATCH *11* COUNT 1000
1) "0"
2)  1) "key:611"
    2) "key:711"
    3) "key:118"
    4) "key:117"
    5) "key:311"
    6) "key:112"
    7) "key:111"
    8) "key:110"
    9) "key:113"
   10) "key:211"
   11) "key:411"
   12) "key:115"
   13) "key:116"
   14) "key:114"
   15) "key:119"
   16) "key:811"
   17) "key:511"
   18) "key:11"