Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/redis-command-zscan.html

Redis ZSCAN 命令

Redis 有序集合 Redis 有序集合


ZSCAN 命令用于迭代有序集合中的元素(包括元素成员和元素分值)。

命令格式

ZSCAN key cursor [MATCH pattern] [COUNT count]

可用版本:>=2.8.0

时间复杂度:O(1)为每次调用,O(N)为完整的迭代,N 为 有序集合的基数(成员个数)。

参数说明

  • cursor:ZSCAN 命令每次被调用之后,都会向用户返回一个新的游标,用户在下次迭代时需要使用这个新游标作为 ZSCAN 命令的游标参数,以此来延续之前的迭代过程。当 ZSCAN 命令的游标参数被设置为0时,服务器将开始一次新的迭代,而当服务器向用户返回值为0的游标时,表示迭代已结束。

  • match 参数:和 KEYS 命令一样,增量式迭代命令也可以通过提供一个 glob 风格的模式参数,让命令只返回和给定模式相匹配的元素,这一点可以通过在执行增量式迭代命令时,通过给定 MATCH <pattern> 参数来实现。

  • count 参数:虽然增量式迭代命令不保证每次迭代所返回的元素数量,但我们可以使用 COUNT 选项,对命令的行为进行一定程度上的调整。基本上,COUNT 选项的作用就是让用户告知迭代命令,在每次迭代中应该从数据集里返回多少元素。

count 参数的默认值为 10

命令返回值

返回的每个元素都是一个有序集合元素,一个有序集合元素由一个成员(member)和一个分值(score)组成。

示例

redis> FLUSHALL
OK
redis> ZADD site 8 "tool188.com" 7 "www.tool188.com" 2 "baidu.com" 3 "qq.com"
(integer) 4
redis> ZSCAN site 0  match "t*"
1) "0"
2) 1) "tool188.com"
   2) "8"
Redis OBJECT 命令允许从内部查看指定 key 的 Redis 对象信息。它通常用在调试,或者了解相关 key 是否使用特殊编码的 ...
SORT命令返回或保存指定列表、集合、有序集合key中经过排序的元素。 ...
Redis GET 命令返回指定 key 所关联的字符串值。如果指定的 key 不存在时,返回特殊值 nil。此外,如果指定的 key 存储 ...
TYPE 命令返回指定 key 所储存的值的类型。 ...
Redis COMMAND 命令用于返回所有的 Redis 命令的详细信息,并以数组形式展示。 ...