Hash 介绍
Redis 的 Hash 类型本质上是键值对的集合,字段(field)和值(value)都支持字符串或数字。它非常适合存储对象类数据,比如用户信息、配置项等。
Hash 支持单字段或多字段的增删改查、存在性判断以及值的自增自减等原子操作。底层通过压缩列表或哈希表优化存储,空间利用率高且查询快,是 Redis 中处理结构化数据的核心类型之一。
在 Redis 内部,所有 Key 本质上都是哈希结构,但当我们使用 Hash 命令时,是在一个 Key 下管理多个 Field。Field 相当于该 Key 下的子键,用来区分不同的属性。
hset
hset 用于创建或更新 Hash 中的字段值。
语法:
hset key field value
一个 Key 可以对应多个 Field,每个 Field 有唯一的 Value。如果 Field 已存在,hset 会覆盖旧值;如果不存在,则新建。执行成功后返回新设置的字段数量。


hget
通过 Key 和 Field 获取对应的 Value。
语法:
hget key field
注意:hget 一次只能取一个值。如果需要批量获取,后面会介绍 hmget。

hdel
删除指定的 Field 及其对应的 Value。
语法:
hdel key field
关键点:hdel 只删除 Field,不会直接删除 Key。只要 Key 下还有其他 Field 存在,Key 本身就不会消失。

hkeys
获取指定 Key 下所有的 Field 名称。
语法:
hkeys key
这里有个常见误区:hkeys 不支持通配符。例如 hkeys * 会返回空数组,因为它只接受具体的键名,不能像 keys * 那样匹配多个 Key。












