redis中关于scan命令的使用

Posted cdfive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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



以上是关于redis中关于scan命令的使用的主要内容,如果未能解决你的问题,请参考以下文章

redis中KEYSSMEMBERSSCAN SSCAN 的区别

(04)redis中关于key的操作命令

Redis-Jedis使用Scan实现redis前缀key查找

redis中使用SCAN代替KEYS

Redis命令:scan实现模糊查询

用redis的scan命令代替keys命令,以及在spring-data-redis中遇到的问题