广告
返回顶部
首页 > 资讯 > 数据库 >redis获取所有key的方法
  • 225
分享到

redis获取所有key的方法

redis获取所有keyredis获取key 2023-04-10 11:04:22 225人浏览 安东尼
摘要

keys:全量遍历键,用来列出所有满足特定正则字符串规则的key,假设Redis此时正在生产环境下,使用该命令就会造成隐患,当redis数据量比较大时: keys会一次性返回所有符合条件的key,所以会造成redis的卡

keys:全量遍历键,用来列出所有满足特定正则字符串规则的key,假设Redis此时正在生产环境下,使用该命令就会造成隐患,当redis数据量比较大时:

keys会一次性返回所有符合条件的key,所以会造成redis的卡顿。

SCAN是一个基于游标的迭代器,需要基于上一次的游标延续之前的迭代过程。SCAN以0作为游标,开始一次新的迭代,直到命令返回游标0完成一次遍历。

此命令并不保证每次执行都返回某个给定数量的元素,甚至会返回0个元素,但只要游标不是0,程序都不会认为SCAN命令结束,但是返回的元素数量大概率符合count参数。另外,SCAN支持模糊查询。

1.keys cmos-cache包

redisCacheService.keys(String pattern);

2.scan方法

public static Set<String> getAllKey(String match,int count){
    //返回集
    Set<String> binKeys = new HashSet<>();
    //封装scan查询参数
    ScanParams param = new ScanParams().match(match).count(count);
    //获取查询对象
    RedisCacheServiceImpl redisCacheSer = (RedisCacheServiceImpl)RedisCacheService;
    JedisCluster jedisClu = redisCacheSer.getJedisCluster();
//getClueternodes获取集群节点,从各个集群中获取值进行遍历
    jedisClu.getClusterNodes().values().stream().forEach(pool->{
        boolean done = false;//
        String cur = "0";//游标,以0开始,返回0代表一次结束
        try(Jedis jedisNode = pool.getResource()){
            while(!done){
                ScanResult<String> scanResult = jedisNode.scan(cur,param);
                cur = scanResult.getStrinGCursor();
                if("0".equals(cur){done=true};
                List<String> result = scanResult.getResult();
                result.foreach(data->{binKeys.add(data)});
            }
        }
    });
    return binKeys;
}

到此这篇关于redis获取所有key的方法的文章就介绍到这了,更多相关redis获取所有key内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: redis获取所有key的方法

本文链接: https://www.lsjlt.com/news/201402.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • redis获取所有key的方法
    keys:全量遍历键,用来列出所有满足特定正则字符串规则的key,假设Redis此时正在生产环境下,使用该命令就会造成隐患,当redis数据量比较大时: keys会一次性返回所有符合条件的key,所以会造成redis的卡...
    99+
    2023-04-10
    redis获取所有key redis获取key
  • redis怎么获取所有key
    这篇文章主要介绍“redis怎么获取所有key”,在日常操作中,相信很多人在redis怎么获取所有key问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”redis怎么获取所有key”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-06
  • java中获取hashmap中的所有key方式
    目录如何获取hashmap中的所有keyHashMap在获得Key的Hash值的时候用的是什么算法JDK hashCode总结如何获取hashmap中的所有key 在 Java 中,...
    99+
    2023-03-22
    java获取hashmap的key java hashmap key 获取hashmap所有key
  • golang 如何获取map所有key的方式
    最佳方式:根据map的长度,新建一个数组,遍历map逐个压入 方法1(效率很高): func getKeys1(m map[int]int) []int { // 数组默认长度...
    99+
    2022-11-12
  • redis通过lua脚本,获取满足key pattern的所有值方式
    我们知道,redis提供了keys命令去获取所有满足格式的key,如我们键入命令 keys "user*" 将得到所有以user开头的key 然后执行 mget命令可以获取多...
    99+
    2022-11-11
  • java如何获得redis所有的key-value
    目录获得redis所有的key-valueredis配置文件需要序列化redis集群获取所有的key,亲测有效redis单机查询所有key命令redis集群查所有key命令如本地测试...
    99+
    2022-11-13
  • java怎么获得redis所有的key-value
    今天小编给大家分享一下java怎么获得redis所有的key-value的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。获得r...
    99+
    2023-06-30
  • redis 查看所有的key方式
    可以使用KEYS 命令 KEYS pattern 例如 列出所有的key redis> keys * 列出匹配的key redis>keys apple*...
    99+
    2022-11-12
  • SpringBoot Redis清除所有的key的实现方法
    我们可以使用RedisTemplate类的keys方法来获取Redis中所有的key,然后再遍历所有的key,使用delete方法删除每一个key来实现清除Redis中所有的数据。 ...
    99+
    2023-05-18
    SpringBoot Redis清除key SpringBoot Redis key
  • java中怎么获取hashmap中所有的key
    这篇文章主要介绍了java中怎么获取hashmap中所有的key的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中怎么获取hashmap中所有的key文章都会有所收获,下面我们一起来看看吧。如何获取has...
    99+
    2023-07-05
  • redis如何查看所有的key方式
    这篇文章主要介绍了redis如何查看所有的key方式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。可以使用KEYS 命令KEYS pattern例如列出所有的key...
    99+
    2023-06-14
  • redis怎么获取所有的键值
    在Redis中,要获取所有的键值可以使用以下两个命令:1. KEYS命令:该命令可以返回匹配指定模式的所有键。语法如下:```KEY...
    99+
    2023-08-24
    redis
  • 【Redis】获取没有设置ttl的key脚本
    一 前言       在运维Redis的时候,总会遇到使用不规范的业务设计,比如没有对key设置ttl,进而导致内存空间吃紧,通常的解决方法是在slave上du...
    99+
    2022-10-18
  • redis集群怎么获取所有keys
    获取Redis集群中的所有keys是一个复杂的问题,因为Redis集群中的数据是分布在不同的节点上的。以下是一些可以尝试的方法:1....
    99+
    2023-08-24
    redis
  • redis怎么获取key对应的值
    在Redis中,可以使用命令`GET key`来获取指定`key`对应的值。 例如,获取名为`mykey`的值,可以执行以下命令: ...
    99+
    2023-10-27
    redis
  • redis 获取 list 中的所有元素操作
    一种方法是用 lrange( key, 0, -1 )。这种方法不会影响 redis list 中的数据。 List<String> list = jedis.lra...
    99+
    2022-11-11
  • 使用redisTemplate从redis获取所有数据
    目录redisTemplate从redis获取所有数据idea后端效果swagger测试效果说说RedisTemplate的常用方法1.RedisTemplate常用方法2.Stri...
    99+
    2022-11-13
  • php怎么获取对象的所有方法名
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在php中,可以使用get_class_methods()函数来获取对象的所有方法名。get_class_methods()函数可获取指定类(对象)的所有方法名,并且组...
    99+
    2019-11-13
    php 对象方法 方法名
  • php怎么获取方法内的所有参数
    小编给大家分享一下php怎么获取方法内的所有参数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php获取方法内的所有参数的方法:可以利用func_get_args...
    99+
    2023-06-06
  • php如何获取对象的所有方法名
    这篇“php如何获取对象的所有方法名”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何获取对象的所有方法名”文章吧。在...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作