简介
在 Redis 中,哈希(Hash)类型的值本身又是一个键值对结构。简单来说,就是 key = "key",value = { { field1, value1 }, …, {fieldN, valueN} }。为了与普通的 String 类型区分,Hash 内部采用 field-value 的映射关系。

核心命令速览
hset 与 hget
hset 用于设置 hash 中指定字段的值。如果字段已存在,则覆盖;不存在则新建。
hset key field value [field value ...]
插入一组 field 的时间复杂度为 O(1),插入 N 组则为 O(N)。返回值是添加或更新的字段个数。修改字段时效果相同,无需担心重复创建的问题。

hget 则是获取指定字段的值,语法简单:
hget key field
时间复杂度 O(1),若字段不存在返回 nil。注意这里参数名是 field 而非 filed,文档中偶尔出现的拼写错误需留意。

字段检查与删除
判断字段是否存在用 hexists,返回 1 表示存在,0 表示不存在。
hexists key field
删除字段使用 hdel,支持批量删除多个字段,返回实际删除的数量。
hdel key field [field ...]

遍历与统计
获取所有字段用 hkeys,获取所有值用 hvals,两者时间复杂度均为 O(N),N 为 field 个数。如果需要一次性获取所有字段和值,hgetall 是最直接的选择。
hgetall key
批量获取多个字段的值推荐使用 hmget,比多次调用 hget 更高效。






