对比
| 维度 | Hash | String(JSON) |
|---|---|---|
| 部分更新 | HINCRBY/HSET 单字段 | 整体重写 |
| 内存 | 小哈希紧凑(listpack) | 整体序列化含冗余 |
| 过期 | 仅键级(7.4+ 才有字段级 HEXPIRE) | 键级 |
| 兼容 | 需客户端支持字段操作 | 任意语言都好处理 |
两种写法
两种写法
HSET user:1001 name 张三 age 30
HINCRBY user:1001 age 1
# String 方案:
SET user:1001:json '{"name":"张三","age":31}' EX 3600高频只改一个字段(如计数、状态)用 Hash;需要整体 TTL 与简单序列化时 String 更省心。