目录
前言
之前我们所了解到的 keys * 是一次性把整个 redis 中所有的 key 都获取到,但是整个操作比较危险,可能会一下子的都太多的 key,阻塞 redis 服务器.
通过渐进式遍历,就可以做到,既能获取所有的 key ,同时又不会卡死服务器~
渐进式遍历不是一个命令就把所有 key 都拿到,而是每执行一次命令,只获取其中的一小部分,这样就保证了当前这一次操作不会太卡~
一、scan 命令
scan 就是渐进式遍历的代表命令.
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
cursor:此处设计到一个光标的概念,光标就指向了当前遍历的位置(起初光标位置为 0),每次遍历都会产生一个光标位置,下次使用 scan 遍历时就需要接着上次光标产生的位置.
[MATCH pattern]:这里和之前介绍的 keys 命令是一样的.
[COUNT count]:限制一次遍历能过获取到多少元素(注意,这里的 count 只是给 redis 服务器的 “建议”,写入的 count 和实际返回的 key 的个数不一定完全相同,但是不会差很多).
[TYPE type]:redis 里的 key 都是 string ,但是 val

订阅专栏 解锁全文
904

被折叠的 条评论
为什么被折叠?



