英[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"