Redis ZCARD 命令返回有序集合(zset)指定 key 的基数(即成员的个数),也可称之为成员的数目。可以用 ZCARD 命令来先查看那些大 key 的有序集合,以便根据实际大小,制定相应的下一步操作策略,避免不必要的大 key 查询。
命令格式
ZCARD key
可用版本:>=1.2.0
时间复杂度:O(1)
命令返回值
当 key 存在且是有序集合类型时,返回有序集合的基数(即成员的个数)。
当 key 不存在时,返回 0。
当 key 存在但是非有序集合类型时,返回类型错误的提示信息。
使用场景
当针对大数据量的有序集合的查询时,可以先用 ZCARD 命令来查看其 key 中 member 的个数,并根据其大小制定相应的查询策略。
示例
redis> ZADD myzset 1 knowledge
(integer) 1
redis> ZADD myzset 2 dict
(integer) 1
redis> ZCARD myzset # 存在的 key,且是有序集合类型
(integer) 2
redis>
redis> EXISTS no_exist_key
(integer) 0
redis> ZCARD no_exist_key # 不存在的 key
(integer) 0
redis>
redis> SET mystring kd
OK
redis> ZCARD mystring # 存在的 key,但是非有序集合类型
(error) WRONGTYPE Operation against a key holding the wrong kind of value