目录
1. 哈希类型概述
Redis 的 哈希(Hash) 是一个键值对集合,适合存储对象。例如一个用户信息可以存储为:
user:1001 -> {
name: "Alice",
age: "28",
email: "alice@example.com"
}
哈希结构适合管理同一实体的多个字段,节省内存且方便修改单个字段。
2. 哈希的典型使用场景
- 存储用户信息、商品信息、订单详情等结构化数据
- 用作配置项存储,如
config:site
、config:email
- 模拟数据库表中的一条记录
3. 哈希常用命令
命令 | 描述 |
---|---|
HSET key field value | 设置字段的值 |
HGET key field | 获取指定字段的值 |
HMSET key field1 value1 ... | 批量设置多个字段值(Redis 4.0 后建议用 HSET) |
HMGET key field1 field2 | 批量获取字段值 |
HGETALL key | 获取所有字段和值 |
HDEL key field1 field2 ... | 删除一个或多个字段 |
HEXISTS key field | 检查字段是否存在 |
HINCRBY key field increment | 字段值递增 |
HLEN key | 获取字段数量 |
4. 哈希的高级用法
- 字段计数器:可使用
HINCRBY
实现用户经验值累加、积分变动。 - 热更新配置:后台直接修改哈希内配置字段,实时生效。
- 字段分离存储:大对象分字段管理,便于更新。
5. 使用注意事项
- 哈希适合字段较少的对象(建议字段数小于 1000)
- 字段和值必须为字符串,不支持嵌套结构
- 避免嵌套复杂对象:如需存储 JSON 建议使用字符串类型存储完整 JSON 文本
- 字段不可设置过期时间,只能对整个哈希键设置 TTL
发表回复