一、scan命令的作用
由于keys命令是全量遍历,如果Redis中存放了太多的key,使用keys *会导致进程阻塞而产生超时等情况。为了避免这种情况,可以使用scan命令来进行增量遍历,scan每次只会遍历一部分数据,然后通过多次遍历将库中所有的key或者指定的key查找出来
二、scan命令语法
# scan 开始序号 [match 模式] [count number]
#开始序号:从0开始,每次执行后都会返回下一次执行命令时需要的序号
#match:使用通配匹配
#count number:返回多少个匹配的key,默认为10个
scan 0 match user* count 1000
命令执行后会返回2个结果,如图:
1)代表下一次的开始序号,如果显示为0代表已经遍历完毕
2)取到的数据
redis-cli命令也有--scan选项可以实现同样的作用
redis-cli --scan 0 match test*