久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

redis如何使用scan指令代替keys指令

283次閱讀
沒有評論

共計 2108 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。

這篇文章主要為大家展示了“redis 如何使用 scan 指令代替 keys 指令”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“redis 如何使用 scan 指令代替 keys 指令”這篇文章吧。

   

SCAN cursor [MATCH pattern] [COUNT count]

SCAN 命令及其相關(guān)的 SSCAN 命令、HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements):

SCAN 命令用于迭代當(dāng)前數(shù)據(jù)庫中的數(shù)據(jù)庫鍵。

SSCAN 命令用于迭代集合鍵中的元素。

HSCAN 命令用于迭代哈希鍵中的鍵值對。

ZSCAN 命令用于迭代有序集合中的元素(包括元素成員和元素分值)。

以上列出的四個命令都支持增量式迭代,它們每次執(zhí)行都只會返回少量元素,所以這些命令可以用于生產(chǎn)環(huán)境,而不會出現(xiàn)像 KEYS 命令、SMEMBERS 命令帶來的問題 —— 當(dāng) KEYS 命令被用于處理一個大的數(shù)據(jù)庫時,又或者 SMEMBERS 命令被用于處理一個大的集合鍵時,它們可能會阻塞服務(wù)器達(dá)數(shù)秒之久。

不過,增量式迭代命令也不是沒有缺點的:舉個例子,使用 SMEMBERS 命令可以返回集合鍵當(dāng)前包含的所有元素,但是對于 SCAN 這類增量式迭代命令來說,因為在對鍵進(jìn)行增量式迭代的過程中,鍵可能會被修改,所以增量式迭代命令只能對被返回的元素提供有限的保證(offer limited guarantees about the returned elements)。

因為 SCAN、SSCAN、HSCAN 和 ZSCAN 四個命令的工作方式都非常相似,所以這個文檔會一并介紹這四個命令,但是要記住:

SSCAN 命令、HSCAN 命令和 ZSCAN 命令的第一個參數(shù)總是一個數(shù)據(jù)庫鍵。

而 SCAN 命令則不需要在第一個參數(shù)提供任何數(shù)據(jù)庫鍵 —— 因為它迭代的是當(dāng)前數(shù)據(jù)庫中的所有數(shù)據(jù)庫鍵。

scan 0 默認(rèn)返回 10 條數(shù)據(jù)。

127.0.0.1:6379 scan 0

1) 81920
2)  1) CMD:1000004739:4
  2) CMD:1000010475:2
  3) CMD:380071400001208:766
  4) CMD:1000006866:LIST
  5) CMD:380071400001208:20415
  6) CMD:380071400001231:21530
  7) CMD:380071400001208:21780
  8) CMD:7485630165:LIST
  9) CMD:1000001545:2
  10) CMD:380071400001231:4387

可以用 count 參數(shù)指定返回數(shù)據(jù)量:

127.0.0.1:6379 scan 0 count 100

1) 104448
2)  1) CMD:1000004739:4
  2) CMD:1000010475:2
  3) CMD:380071400001208:766
  4) CMD:1000006866:LIST
  5) CMD:380071400001208:20415
  6) CMD:380071400001231:21530
  7) CMD:380071400001208:21780
  8) CMD:7485630165:LIST
  9) CMD:1000001545:2
  10) CMD:380071400001231:4387
  ……
  94) CMD:201610200062:6
  95) CMD:VF3748211006:3
  96) CMD:1000009121:4
  97) CMD:380071400001231:6563
  98) CMD:1000010252:ID
  99) CMD:1000005261:5
  100) SERVER:45568_0

使用 match 參數(shù)來匹配模式:

127.0.0.1:6379 scan 0 match CMD* count 100

1) 104448
2)  1) CMD:1000004739:4
  2) CMD:1000010475:2
  3) CMD:380071400001208:766
  4) CMD:1000006866:LIST
  5) CMD:380071400001208:20415
  6) CMD:380071400001231:21530
  7) CMD:380071400001208:21780
  8) CMD:7485630165:LIST
  9) CMD:1000001545:2
  10) CMD:380071400001231:4387
  ……
  86) CMD:201610200062:6
  87) CMD:VF3748211006:3
  88) CMD:1000009121:4
  89) CMD:380071400001231:6563
  90) CMD:1000010252:ID
  91) CMD:1000005261:5

最重要的是 scan 不會阻塞服務(wù)器,現(xiàn)網(wǎng)環(huán)境也可以用,真方便。

以上是“redis 如何使用 scan 指令代替 keys 指令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-04發(fā)表,共計2108字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 五华县| 永和县| 文成县| 平山县| 息烽县| 壤塘县| 武定县| 盐津县| 高州市| 通河县| 新源县| 封丘县| 巴林左旗| 西乌珠穆沁旗| 木兰县| 郁南县| 舒兰市| 临湘市| 清河县| 泰顺县| 胶南市| 仁布县| 读书| 浑源县| 定襄县| 清水河县| 林甸县| 青岛市| 孝义市| 宣武区| 永宁县| 精河县| 永川市| 蒙山县| 芜湖市| 台安县| 彝良县| 朔州市| 个旧市| 闵行区| 岐山县|