【Redis运维】使用scan遍历所有key

tanglu 7629 2020-10-14

一、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个结果,如图:

scan1.png

1)代表下一次的开始序号,如果显示为0代表已经遍历完毕

2)取到的数据


redis-cli命令也有--scan选项可以实现同样的作用

redis-cli --scan 0 match test*



版权声明
本站所有文章均为原创,转载请注明出处!小站维护不易,如果对您有所帮助,希望能点击一下站内广告,谢谢!
上一篇:【Redis运维】使用Shell批量添加测试数据到Redis
下一篇:【Redis运维】使用rdbtools分析当前key的使用情况
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

微信二维码