https://redis.io/commands/scan
可以看到:
sscan的返回结果,有两部分,
第一部分 是一个数字。其实代表一个游标。
第二部分 是结果。
scan是以游标为基础,每次使用scan(包括sscan),以游标0开始,然后命令会返回一个新的游标;如果新的游标不是0,表示遍历还没有结束,要使用新的游标作为参数,继续输入获得后面的结果。
比如下面这个 count 1的时候,遍历没有结束,就会返回非0的游标。
> smembers myset 1) "one" 2) "two" > sscan myset 0 match * count 1 1) "2" 2) 1) "one" > sscan myset 2 match * count 1 1) "3" 2) 1) "two" > sscan myset 3 match * count 1 1) "0" 2) (empty list or set)
官网的解释可以查看这里: