redis中关于scan命令的使用
概念
-
KEYS
查找所有符合给定模式pattern的key // 需很谨慎使用,耗时长影响正常业务,线上禁用KEYS命令 -
SCAN
用于增量地迭代获取key
语法
SCAN cursor [MATCH pattern] [COUNT count]
SSCAN、HSCAN、ZSCAN命令与之类似
示例
-
scan 0
-
scan 0 match item*
-
scan 0 match item* count 200
-
scan 128 match item* count 200
注意事项
- scan的参数没有key,因为其迭代对象是DB内数据;
- 返回值都是数组,第一个值都是下一次迭代游标;
- 时间复杂度:每次请求都是O(1),完成所有迭代需要O(N),N是元素数量;
- 可用版本:version >= 2.8.0;
参考
redis命令文档: http://doc.redisfans.com