赞
踩
因为在Redis的命令执行是单线程模型的,使用keys
指令时,若数据量很大,Redis会对全量数据进行匹配,导致会有几秒钟的阻塞事件,而Scan是通过游标对hash-slot
分步进行的,阻塞时间短,适合进行线上生产环境使用。
普通加法和高位进位加法的区别
高位进位法从左边加,进位往右边移动,同普通加法正好相反。但是最终它们都会遍历所有的槽位并且没有重复。
可以大大避免重复检索同一hash-slot
。
遍历的过程中,发送了hash-slot
的收缩,导致两个hash-slot
合并成一个,不得不重新检索当前槽位,造成数据的重复。
scan
对全量keys进行分段遍历的过程中,有数据插入到已经遍历过的插槽中,该数据不会被检索出。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。