2020-05-31:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2020-05-31:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们?相关的知识,希望对你有一定的参考价值。

2020-05-31:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?

参考技术A 比如前缀为:A两种办法:keys A*
因为redis是单线程,所以key太多会导致其他访问redis的应用进入等待状态,所以不推荐使用keys。
scan 0 match A* count 10

0 表示当前游标,每次调用scan命令会返回数组,数组中的第一位为下一次遍历的游标
match A* 匹配key
count 10 表示每次想要得到多少条数据,但是不一定是10条,只是差不多10条.
返回的数据可能会有重复,可以用代码的Map去重

以上是关于2020-05-31:假如Redis里面有1亿个key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们?的主要内容,如果未能解决你的问题,请参考以下文章

Day738.亿个keys数据统计方案 -Redis 核心技术与实战

redis

分布式锁用Redis还是Zookeeper?

分布式锁用Redis还是Zookeeper?

Combinatorics 组合数学 模板

2Docker下安装Redis集群:cluster(集群)模式-docker版,哈希槽分区进行亿级数据存储