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

 更新时间:2020年07月30日 10:23:50   作者:JenningLang  
这篇文章主要介绍了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 5.05 单独模式安装及配置方法

    Redis 5.05 单独模式安装及配置方法

    这篇文章主要介绍了Redis 5.05 单独模式安装,文中通过代码给大家介绍了Redis 5.0.5 单节点 安装配置方法,需要的朋友可以参考下
    2019-10-10
  • 详解Redis缓存穿透/击穿/雪崩原理及其解决方案

    详解Redis缓存穿透/击穿/雪崩原理及其解决方案

    缓存可以比喻为防弹衣,但如果没有使用好这个防弹衣效果就会适得其反,所以要更好的使用缓存才能发挥出它的作用。本文详细讲解了缓存穿透/击穿/雪崩以及其解决方法,感兴趣的小伙伴可以学习一下这篇文章
    2021-09-09
  • 深入理解Redis内存淘汰策略

    深入理解Redis内存淘汰策略

    本文主要介绍了深入理解Redis内存淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Redis数据过期策略的实现详解

    Redis数据过期策略的实现详解

    最近项目当中遇到一个需求场景,需要清空一些存放在Redis的数据,本文对Redis的过期机制简单的讲解一下,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Redis 通过 RDB 方式进行数据备份与还原的方法

    Redis 通过 RDB 方式进行数据备份与还原的方法

    这篇文章主要介绍了Redis 通过 RDB 方式进行数据备份与还原,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Win10配置redis服务实现过程详解

    Win10配置redis服务实现过程详解

    这篇文章主要介绍了Win10配置redis服务实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • redis实现简单队列

    redis实现简单队列

    这篇文章主要为大家详细介绍了redis实现简单队列的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Redis源码阅读:Redis字符串SDS详解

    Redis源码阅读:Redis字符串SDS详解

    这篇文章主要介绍了Redis源码阅读:Redis字符串SDS,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 浅谈Redis哨兵模式的使用

    浅谈Redis哨兵模式的使用

    这篇文章主要介绍了浅谈Redis哨兵模式的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 详细分析Redis集群故障

    详细分析Redis集群故障

    这篇文章主要介绍了详细分析Redis集群故障的相关内容,具有一定的参考价值,这里分享给大家,供需要的朋友参考。
    2017-10-10

最新评论