• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Redis不使用 keys 命令获取键值信息的方法

    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) 用于增量式的遍历一个集合中的元素。因为其增量特性 (每次使用只返回一小部分元素),所以在生产环境中可以用来替代 KEYS 或 SMEMBERS 命令 (KEYS 或 SMEMBERS 命令可能会因为返回的元素过多而阻塞 redis)

    所以在生产环境中即便 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命令的区别说明
    • 解决spring中redistemplate不能用通配符keys查出相应Key的问题
    • 在RedisTemplate中使用scan代替keys指令操作
    • Redis的KEYS 命令千万不能乱用
    • Redis命令使用技巧之Keys的相关操作
    • redis 用scan指令 代替keys指令(详解)
    • 浅谈Redis的keys命令到底有多慢
    上一篇:Windows系统安装Redis的详细图文教程
    下一篇:深入理解redis_memcached失效原理(小结)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Redis不使用 keys 命令获取键值信息的方法 Redis,不,使用,keys,命令,获取,