Redis 从入门到精通(五):哈希操作详解

系列导读:本篇将深入讲解 Redis 哈希(Hash)的所有操作命令及实际应用场景。


文章目录


一、哈希命令总览

命令 说明
HSET/HGET 设置/获取字段
HMSET/HMGET 批量设置/获取
HGETALL 获取所有字段
HDEL 删除字段
HEXISTS 检查字段存在
HINCRBY 字段递增
HKEYS/HVALS 获取所有键/值

二、基础操作命令

2.1 设置与获取

bash 复制代码
# 设置单个字段
HSET user:1001 name "张三"

# 设置多个字段
HMSET user:1001 name "张三" age 25 city "北京"

# 获取单个字段
HGET user:1001 name

# 获取多个字段
HMGET user:1001 name age

# 获取所有字段
HGETALL user:1001

2.2 删除与检查

bash 复制代码
# 删除字段
HDEL user:1001 city

# 检查字段存在
HEXISTS user:1001 name  # 1存在 0不存在

# 仅当不存在时设置
HSETNX user:1001 email "test@example.com"

三、高级操作命令

3.1 数值操作

bash 复制代码
# 整数递增
HINCRBY user:1001 age 1

# 浮点递增
HINCRBYFLOAT user:1001 score 0.5

3.2 获取信息

bash 复制代码
# 获取所有字段名
HKEYS user:1001

# 获取所有字段值
HVALS user:1001

# 获取字段数量
HLEN user:1001

3.3 迭代遍历

bash 复制代码
# 渐进式遍历
HSCAN user:1001 0 MATCH field:* COUNT 10

四、实战应用场景

4.1 存储对象

bash 复制代码
# 用户信息
HMSET user:1001 name "张三" age 25 email "zhang@example.com"

# 商品信息
HMSET product:2001 name "iPhone" price 6999 stock 100

4.2 购物车

bash 复制代码
# 添加商品
HSET cart:user:1001 product:2001 2
HSET cart:user:1001 product:2002 1

# 增加数量
HINCRBY cart:user:1001 product:2001 1

# 获取购物车
HGETALL cart:user:1001

# 删除商品
HDEL cart:user:1001 product:2002

4.3 计数器

bash 复制代码
# 文章统计
HMSET article:100 views 100 likes 10 comments 5
HINCRBY article:100 views 1

总结

本文我们学习了:

基础操作 :HSET/HGET/HMSET/HGETALL

高级操作 :HINCRBY/HSCAN

应用场景:对象存储、购物车、计数器

下篇预告Redis 从入门到精通(六):列表操作详解


作者 :刘~浪地球
系列 :Redis 从入门到精通(五)
更新时间:2026-04-04

相关推荐
Achou.Wang5 分钟前
Selecting channels:Go 并发里的“多路开关”
服务器·数据库·golang
西洼工作室12 分钟前
缓存工具类封装:内存与Redis无缝切换
redis·python·缓存·全栈
m0_6091604917 分钟前
Go语言Beego框架如何用_Go语言Beego框架入门教程【高效】
jvm·数据库·python
未若君雅裁2 小时前
MySQL-MVCC核心原理-版本链ReadView与可见性判断
数据库·mysql
KaMeidebaby6 小时前
卡梅德生物技术快报|骆驼纳米抗体:从原核表达、高通量测序到分子对接全流程实现
前端·数据库·其他·百度·新浪微博
2301_783848659 小时前
优化文本分类中堆叠模型的网格搜索性能:避免训练卡顿的实战指南
jvm·数据库·python
TE-茶叶蛋9 小时前
DBeaver 的Explain 执行计划,分析sql的性能
数据库·sql
CLX050510 小时前
如何安装Oracle 12c Cloud Control_OMS服务端组件与Agent部署
jvm·数据库·python
m0_6174939410 小时前
PySide6 网络请求深度实测:从基础 API 调用到数据解析实战指南
数据库
知识汲取者10 小时前
每日一篇高频面试题系列之【MySQL 锁】
数据库·mysql