Redis SCAN命令

 
Redis SCAN 命令用于迭代数据库中的键。和其相似的命令有 SSCAN、HSCAN、ZSCAN,它们分别用于迭代集合、哈希散列与有序结合。

SCAN 命令是一个基于游标的迭代器,每次被调用之后,都会向用户返回一个新的游标,用户在下次迭代时需要使用这个新游标作为 SCAN 命令的游标参数,从而让迭代过程延续下,当游标返回  0 时,迭代结束。

可用版本

SCAN 命令可用版本:>= 2.8.0

语法格式

Redis SCAN 命令的基本语法如下:
SCAN cursor [MATCH pattern] [COUNT count]
参数说明:
  • cursor:游标,游标起始值一般为 0。
  • pattern: 指定匹配模式。
  • count:指定从数据库中返回多少个 key,默认为 10 。

返回值

SCAN 返回一个包含两个元素的数组, 第一个元素是用于进行下一次迭代的新游标, 而第二个元素则是一个数组, 这个数组中包含了所有被迭代的元素。

命令演示

127.0.0.1:6379> scan 0
1) "2" #下一个迭代游标
2)  1) "name"
    2) "www.biancheng.com"
    3) "num"
    4) "web_name"
    5) "FANS"
    6) "topic"
    7) "user:id"
    8) "url"
    9) "user:uv:2021011308-09"
   10) "website:name"
127.0.0.1:6379> scan 2
1) "0" #返回0表示迭代结束
2) 1) "course1"
   2) "userid:1"
   3) "title"