首页 > 其他 > 详细

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

时间:2020-05-02 22:18:24      阅读:296      评论:0      收藏:0      [点我收藏+]

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

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

有什么问题?

这个时候你要回答 redis 关键的一个特性:redis 的单线程的。keys 指令会导致线 

程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时 

候可以使用 scan 指令,scan 指令可以无阻塞的提取出指定模式的 key 列表,但 

是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间 

会比直接用 keys 指令长。

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

原文:https://www.cnblogs.com/programb/p/12819434.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!