Redis不使用 keys 命令獲取鍵值信息的方法
1. 問(wèn)題來(lái)源
這個(gè)問(wèn)題可能看起來(lái)很奇怪,但很多 redis 集群會(huì)有一個(gè)統(tǒng)一的入口,入口會(huì)作兼容 redis 命令的代理,一般出于新能考慮是禁止使用 keys 命令來(lái)獲取鍵值信息的,但是可以通過(guò) scan 命令來(lái)代替 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"
簡(jiǎn)單說(shuō)明
SCAN 命令 (以及相關(guān)的 SSCAN/HSCAN/ZSCAN,分別用于 SET/HASH/ZSET) 用于增量式的遍歷一個(gè)集合中的元素。因?yàn)槠湓隽刻匦?(每次使用只返回一小部分元素),所以在生產(chǎn)環(huán)境中可以用來(lái)替代 KEYS 或 SMEMBERS 命令 (KEYS 或 SMEMBERS 命令可能會(huì)因?yàn)榉祷氐脑剡^(guò)多而阻塞 redis)
所以在生產(chǎn)環(huán)境中即便 redis 服務(wù)支持 keys 命令,也應(yīng)該用 scan 來(lái)代替
參考:
1. https://groups.google.com/forum/#!topic/redis-db/zZeI_PjHF_M
2. https://redis.io/commands/scan
總結(jié)
以上所述是小編給大家介紹的Redis 不使用 keys 命令獲取鍵值信息的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)就及時(shí)回復(fù)大家的!
相關(guān)文章
redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格詳解
這篇文章主要給大家介紹了關(guān)于redis中如何使用lua腳本讓你的靈活性提高5個(gè)逼格的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-10-10Redis整合SpringBoot的RedisTemplate實(shí)現(xiàn)類(實(shí)例詳解)
這篇文章主要介紹了Redis整合SpringBoot的RedisTemplate實(shí)現(xiàn)類,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01Redis中一些最常見(jiàn)的面試問(wèn)題總結(jié)
Redis在互聯(lián)網(wǎng)技術(shù)存儲(chǔ)方面使用如此廣泛,幾乎所有的后端技術(shù)面試官都要在Redis的使用和原理方面對(duì)小伙伴們進(jìn)行各種刁難。下面這篇文章主要給大家總結(jié)介紹了關(guān)于Redis中一些最常見(jiàn)的面試問(wèn)題,需要的朋友可以參考下2018-09-09mac下redis安裝、設(shè)置、啟動(dòng)停止方法詳解
這篇文章主要介紹了mac下redis安裝、設(shè)置、啟動(dòng)停止方法詳解,需要的朋友可以參考下2020-02-02