redis SCAN使用

SCAN命令是一個基于游標(biāo)的迭代器。這意味著命令每次被調(diào)用都需要使用上一次這個調(diào)用返回的游標(biāo)作為該次調(diào)用的游標(biāo)參數(shù)豌鸡,以此來延續(xù)之前的迭代過程

當(dāng)SCAN命令的游標(biāo)參數(shù)被設(shè)置為 0 時虽抄, 服務(wù)器將開始一次新的迭代虐秦, 而當(dāng)服務(wù)器向用戶返回值為 0 的游標(biāo)時异吻, 表示迭代已結(jié)束唱凯。

也就是說scan 0 是一次全新的查詢桨仿,直到返回的游標(biāo)值是0時睛低,才表示整個庫的查詢結(jié)束。

比如:

redis 127.0.0.1:6379> scan 0

1) "17"

2)  1) "key:12"

    2) "key:8"

    3) "key:4"

    4) "key:14"

    5) "key:16"

    6) "key:17"

    7) "key:15"

    8) "key:10"

    9) "key:3"

    10) "key:7"

    11) "key:1"

redis 127.0.0.1:6379> scan 17

1) "0"

2) 1) "key:5"

   2) "key:18"

   3) "key:0"

   4) "key:2"

   5) "key:19"

   6) "key:13"

   7) "key:6"

   8) "key:9"

   9) "key:11"

在上面這個例子中服傍, 第一次迭代使用 0 作為游標(biāo)钱雷, 表示開始一次新的迭代。
第二次迭代使用的是第一次迭代時返回的游標(biāo)吹零, 也即是命令回復(fù)第一個元素的值 —— 17 罩抗。

從上面的示例可以看到, SCAN 命令的回復(fù)是一個包含兩個元素的數(shù)組灿椅, 第一個數(shù)組元素是用于進行下一次迭代的新游標(biāo)套蒂, 而第二個數(shù)組元素則是一個數(shù)組, 這個數(shù)組中包含了所有被迭代的元素茫蛹。
在第二次調(diào)用 SCAN 命令時操刀, 命令返回了游標(biāo) 0 , 這表示迭代已經(jīng)結(jié)束婴洼, 整個數(shù)據(jù)集(collection)已經(jīng)被完整遍歷過了骨坑。
以 0 作為游標(biāo)開始一次新的迭代, 一直調(diào)用 SCAN 命令柬采, 直到命令返回游標(biāo) 0 欢唾, 我們稱這個過程為一次完整遍歷(full iteration)。

所以可以通過這個方法來查詢庫大的整個庫的key粉捻,如果庫小的話直接keys *搞定

可以使用下面的腳本來得到結(jié)果

#!/bin/bash

redis-cli -h 127.0.0.1 -p 6379 scan 0 > keys.txt

a=`head -1 keys.txt`

while [ $a -ne 0 ]

do

        redis-cli -h 127.0.0.1 -p 6379 scan $a > key.txt

        redis-cli -h 127.0.0.1 -p 6379 scan $a >> keys.txt

        a=`head -1 key.txt`

        sleep 1

done

如果指定庫的話改為 redis-cli -h 127.0.0.1 -p 6379 -n 1 scan 0 > keys.txt

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末礁遣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肩刃,更是在濱河造成了極大的恐慌亡脸,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件树酪,死亡現(xiàn)場離奇詭異浅碾,居然都是意外死亡,警方通過查閱死者的電腦和手機续语,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門垂谢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人疮茄,你說我怎么就攤上這事∨畔樱” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵并徘,是天一觀的道長蕴茴。 經(jīng)常有香客問我倦淀,道長晃听,這世上最難降的妖魔是什么佣渴? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮乎澄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腐宋。我一直安慰自己围苫,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布撤师。 她就那樣靜靜地躺著剂府,像睡著了一般。 火紅的嫁衣襯著肌膚如雪剃盾。 梳的紋絲不亂的頭發(fā)上腺占,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音痒谴,去河邊找鬼衰伯。 笑死,一個胖子當(dāng)著我的面吹牛积蔚,可吹牛的內(nèi)容都是我干的意鲸。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼尽爆,長吁一口氣:“原來是場噩夢啊……” “哼怎顾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起漱贱,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤槐雾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后幅狮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體募强,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年崇摄,在試婚紗的時候發(fā)現(xiàn)自己被綠了擎值。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡逐抑,死狀恐怖鸠儿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情泵肄,我是刑警寧澤捆交,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布淑翼,位于F島的核電站,受9級特大地震影響品追,放射性物質(zhì)發(fā)生泄漏玄括。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一肉瓦、第九天 我趴在偏房一處隱蔽的房頂上張望遭京。 院中可真熱鬧,春花似錦泞莉、人聲如沸哪雕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽斯嚎。三九已至,卻和暖如春挨厚,著一層夾襖步出監(jiān)牢的瞬間堡僻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工疫剃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留钉疫,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓巢价,卻偏偏與公主長得像牲阁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子壤躲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 第八章 數(shù)據(jù)查詢和選擇 ||| 第十章 獲取GIS數(shù)據(jù)列表和描述信息 我們將在本章中介紹以下幾個案例: 游標(biāo)對象(...
    muyan閱讀 21,034評論 5 21
  • UILabel如果讓文本自適應(yīng)經(jīng)常遇到城菊,UILabel里面的顯示區(qū)域固定, 但是里面的文字顯示合適的字體大小的...
    喜歡就可以閱讀 309評論 0 0
  • 保持善心柒爵,和大自然和諧共處
    金吉善子閱讀 109評論 0 0
  • 5.想兩個你自己產(chǎn)生"我的更好"思維的例子役电。描述一下那種思維赚爵,以及你最初意識到它的方式棉胀。如果可以的話,找出是什么導(dǎo)...
    sxrunn閱讀 166評論 0 0
  • 在朋友安排下冀膝,今天很高興參觀廣汽豐田工廠唁奢,這是我頭一次參觀汽車工廠,又聽到專業(yè)的介紹窝剖,很開心麻掸。豐田的生產(chǎn)管理令人嘆...
    巴拿馬草帽閱讀 3,737評論 0 3