Redis面试常问2-- 从海量数据里查询某一固定前缀的key?

从海量数据里查询某一固定前缀的key?

问题背景:

面试官问,如何从10亿个数据中,找到某一个固定前缀的10万个key?

注意注意:面试官问的细节 多点问面试官相关的细节问题
Redis面试常问2-- 从海量数据里查询某一固定前缀的key?

问清楚面试官数据量大小,还有实际的应用场景

1初步作答:keys指令 会导致阻塞服务器

Redis面试常问2-- 从海量数据里查询某一固定前缀的key?
Redis面试常问2-- 从海量数据里查询某一固定前缀的key?
Redis面试常问2-- 从海量数据里查询某一固定前缀的key?

2 替代方案 SCAN cursor

Redis面试常问2-- 从海量数据里查询某一固定前缀的key?

scan 0 match k1* count 10

Redis面试常问2-- 从海量数据里查询某一固定前缀的key?

外部程序 hashset去重 + for循环 +遍历完-即可