Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

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>