redis统计某个开头key的数量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis统计某个开头key的数量相关的知识,希望对你有一定的参考价值。

参考技术A 使用redis实现计数器
是因为redis是单线程的,使用setnx命令或者lua脚本,可以实现对同一个key的单线程计算。

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去重

以上是关于redis统计某个开头key的数量的主要内容,如果未能解决你的问题,请参考以下文章

redis那个命令可以统计key的数量?

Redis 实战篇:巧用Bitmap 实现亿级海量数据统计

字符串统计 连续的某个字符的数量

给你一个亿的keys,Redis如何统计?

Redis查询当前库有多少个 key

Redis Bitmap实现每日活跃用户统计