Redis HLEN 命令返回哈希表 key 中域(field)的数量。当散列有可能包含的值非常大,那么用户可以先使用 HLEN 命令获取出散列包含的域的数量,然后再结合 HKEYS 命令列出所有域名,再进一步可以使用 HGET 一个接一个地取出域的值,从而避免因为一次获取多个大体积的值而导致服务器阻塞。
命令格式
HLEN key
可用版本:>=2.0.0
时间复杂度:O(1)
命令返回值
HLEN 命令返回 3 种情况:
- 当指定的 key 存在时,返回哈希表中域的数量。
- 当指定的 key 不存在时,返回 0。
- 当指定的 key 不是哈希类型时,返回类型不匹配的错误信息。
示例
redis> HSET myhash field1 Ayami
(integer) 1
redis> HSET myhash field2 Shunka
(integer) 1
redis> HLEN myhash # 当指定的 key 存在时
(integer) 2
redis> HLEN nomyhash # 当指定的 key 不存在时
(integer) 0
redis> HLEN str # 当指定的 key 不是哈希类型时
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis>