使用keys指令可以扫出指定模式的key列表
redis 127.0.0.1:6379> KEYS runoob*
1) "runoob3"
2) "runoob1"
3) "runoob2"
对方接着追问如果这个 redis正在给线上的业务提供服务,那使用keys指令会有什么问题?这个时候你要回答 redis关键的一个特性redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时候可以使用scan指令,scan指令可以无阻塞的提取出指定模式的key列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用keys指令长。
scan命令其它说明:https://zhuanlan.zhihu.com/p/46353221