数据库
首页 > 数据库> > Redis里面有1亿个google的guava包来实现了核心算法,key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?

Redis里面有1亿个google的guava包来实现了核心算法,key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?

作者:互联网

Redis里面有1亿个google的guava包来实现了核心算法,key,其中有10w个key是以某个固定的已知的前缀开头的,如何将它们全部找出来?

可以使用keys指令扫出指定格式的key列表。

对方接着追问:如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?

这个时候你要回答redis关键的一个特性:redis是单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。
这个时候可以使用scan指令,scan指令可以无阻塞的提取出指定格式的key列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用keys指令长。

标签:google,包来,Redis,redis,keys,指令,key
来源: https://blog.csdn.net/qq_44469202/article/details/115527202