Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

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

Redis HKEYS 命令

Redis 哈希(Hashes)底层数据结构及所有相关命令 Redis 哈希(Hashes)底层数据结构及所有相关命令


Redis HKEYS 命令返回哈希表 key 中的所有域(field)或者叫键(hash key)。

尽管有 HGETALL 存在,但 HKEYS 也是非常有用的。如果散列包含的值非常大,那么用户可以先使用 HKEYS 取出散列包含的所有键,然后再使用 HGET 一个接一个地取出键的值,从而避免因为一次获取多个大体积的值而导致服务器阻塞。

命令格式

HKEYS key

可用版本:>=2.0.0

时间复杂度:O(N),N 为哈希表的大小。

命令返回值

HKEYS 命令返回 3 种情况:

  • 当指定 key 存在时,返回一个包含哈希表中所有域的列表。
  • 当指定 key 不存在时,返回空列表。
  • 当指定 key 为非哈希类型时,返回命令与操作类型不匹配的提示信息。

示例

redis> HSET myhash field1 Koharu
(integer) 1
redis> HSET myhash field2 Suzuki
(integer) 1
redis> HKEYS myhash               # 当指定 key 存在时
1) "field1"
2) "field2"
redis> HKEYS noexisthash          # 当指定 key 不存在时 
(empty list or set)
redis> SET knowledge dict
OK
redis> HKEYS knowledge            # 当指定 key 为非哈希类型时
(error) WRONGTYPE Operation against a key holding the wrong kind of value
redis>