主頁 > 知識庫 > Redis不使用 keys 命令獲取鍵值信息的方法

Redis不使用 keys 命令獲取鍵值信息的方法

熱門標簽:玄武湖地圖標注 地圖標注費用 太原營銷外呼系統 最簡單的百度地圖標注 地圖標注如何即時生效 西藏教育智能外呼系統價格 百度商家地圖標注怎么做 小紅書怎么地圖標注店 竹間科技AI電銷機器人

1. 問題來源

這個問題可能看起來很奇怪,但很多 redis 集群會有一個統一的入口,入口會作兼容 redis 命令的代理,一般出于新能考慮是禁止使用 keys 命令來獲取鍵值信息的,但是可以通過 scan 命令來代替 keys

2. 使用 keys 的方法

127.0.0.1:6379> KEYS *
1) "_kombu.binding.test_queue"
2) "a8e620b9-e52e-3498-8a1c-448f35783058"
3) "_kombu.binding.celery"

3. 使用 scan 的方法

127.0.0.1:6379> DBSIZE
(integer) 3
127.0.0.1:6379> SCAN 0 MATCH * COUNT 3
1) "5"
2) 1) "a8e620b9-e52e-3498-8a1c-448f35783058"
 2) "_kombu.binding.test_queue"
 3) "_kombu.binding.celery"

簡單說明

SCAN 命令 (以及相關的 SSCAN/HSCAN/ZSCAN,分別用于 SET/HASH/ZSET) 用于增量式的遍歷一個集合中的元素。因為其增量特性 (每次使用只返回一小部分元素),所以在生產環(huán)境中可以用來替代 KEYS 或 SMEMBERS 命令 (KEYS 或 SMEMBERS 命令可能會因為返回的元素過多而阻塞 redis)

所以在生產環(huán)境中即便 redis 服務支持 keys 命令,也應該用 scan 來代替

參考:

1. https://groups.google.com/forum/#!topic/redis-db/zZeI_PjHF_M
2. https://redis.io/commands/scan

總結

以上所述是小編給大家介紹的Redis 不使用 keys 命令獲取鍵值信息的相關知識,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會就及時回復大家的!

您可能感興趣的文章:
  • Redis遍歷所有key的兩個命令(KEYS 和 SCAN)
  • redis keys與scan命令的區(qū)別說明
  • 解決spring中redistemplate不能用通配符keys查出相應Key的問題
  • 在RedisTemplate中使用scan代替keys指令操作
  • Redis的KEYS 命令千萬不能亂用
  • Redis命令使用技巧之Keys的相關操作
  • redis 用scan指令 代替keys指令(詳解)
  • 淺談Redis的keys命令到底有多慢

標簽:澳門 林芝 贛州 香港 揚州 景德鎮(zhèn) 唐山 廣東

巨人網絡通訊聲明:本文標題《Redis不使用 keys 命令獲取鍵值信息的方法》,本文關鍵詞  Redis,不,使用,keys,命令,獲取,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis不使用 keys 命令獲取鍵值信息的方法》相關的同類信息!
  • 本頁收集關于Redis不使用 keys 命令獲取鍵值信息的方法的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章