Redis Hash(哈希结构)的增删改查完整用法
一、Hash 是什么?
Redis Hash 适合存储:
一个对象 = 多个字段
比如用户信息:
user:1001
name = 张三
age = 18
city = 深圳
二、增(Create / Add)
1. 设置单个字段
HSET user:1001 name 张三
2. 设置多个字段(推荐)
HSET user:1001 name 张三 age 18 city 深圳
Redis 4.0+ 可以一次设置多个字段。
三、查(Read)
1. 获取某个字段
HGET user:1001 name
返回:
"张三"
2. 获取全部字段
HGETALL user:1001
返回:
1) "name"
2) "张三"
3) "age"
4) "18"
5) "city"
6) "深圳"
3. 获取所有字段名
HKEYS user:1001
4. 获取所有值
HVALS user:1001
5. 判断字段是否存在
HEXISTS user:1001 age
返回:
(integer) 1
四、改(Update)
修改字段
HSET user:1001 age 20
如果字段存在 → 更新
不存在 → 新增
自增字段(常用于计数)
HINCRBY user:1001 age 1
五、删(Delete)
删除某个字段
HDEL user:1001 age
删除整个 key
DEL user:1001
六、统计
1. 统计字段数量
HLEN user:1001
2. 查看占用内存
MEMORY USAGE user:1001
七、遍历大 Hash
如果字段很多,不要用 HGETALL。
使用:
HSCAN user:1001 0
带模式:
HSCAN user:1001 0 MATCH name*
八、完整实战示例
# 新建用户
HSET user:1001 name 李四 age 25 score 80
# 查询
HGET user:1001 name
# 更新
HSET user:1001 score 90
# 自增
HINCRBY user:1001 score 10
# 查看全部
HGETALL user:1001
# 删除字段
HDEL user:1001 age
# 删除整个对象
DEL user:1001