news 2026/6/10 20:37:08

详解redis(8):数据结构Hash

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
详解redis(8):数据结构Hash

一、Hash 是什么?

逻辑层面

key = user:1 value = { name: "xiaolin", age: 18, city: "beijing" }

也就是:

HSET user:1 name xiaolin age 18 city beijing

Hash vs String

用 String 存对象

SET user:1 '{"name":"xiaolin","age":18}'

用 Hash 存对象

HSET user:1 name xiaolin age 18
对比点String(JSON)Hash
修改单个字段❌ 需要整体改
读取单字段❌ 反序列化
命令语义
内存利用一般更优
适合对象非常适合

二、为什么 Hash 特别适合存对象?

字段级操作

HINCRBY user:1 score 10

减少 Key 数量

不用:

user:1:name
user:1:age
user:1:city
而是:

user:1
Key 少,对 Redis 更友好

三、Hash 的内部实现

Redis 的哲学:小数据用紧凑结构,大数据用高效结构

两种底层结构

压缩列表

连续内存

紧凑存储

顺序查找

优缺点

内存占用极低
查找是 O(n)
插入删除可能引发连锁更新

哈希表

触发条件

字段多

或字段值大

特点

查找、更新 O(1)
指针多,内存占用高

Hash 自动转换机制

只升不降,不会再变回 ziplist

四、Redis 7.0 的变化:listpack

ziplist 的问题

连锁更新复杂

代码维护成本高

易产生性能抖动

listpack 是什么?

listpack 是 ziplist 的升级版

ziplistlistpack
头尾指针
连锁更新严重
结构复杂
维护成本

五、什么时候该用 Hash?

适合

用户信息

商品属性

配置项

状态对象

不适合

超大字段(几 MB)

只整体读写的对象(String 更简单)

六、Hash 实现购物车

为什么购物车是 Hash 的“天选场景”?

要素对应 Hash
用户key
商品field
数量value

为什么不用 List / String?

List

查商品要遍历

改数量不方便

不支持随机访问

String + JSON

改一个商品要整体反序列化

并发下容易冲突

Hash

O(1) 修改

字段级原子操作

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:18:54

太空算力、AI上星与卫星智能化

你有没有想过,当我们仰望星空时,可能正在见证一场堪比移动互联网诞生的革命? 最近,“太空算力”概念突然火了。很多人把它理解成“把服务器搬上天”,但真相远不止这么简单。本篇我们就来系统梳理几个看似熟悉但常被混淆…

作者头像 李华
网站建设 2026/6/9 22:25:01

基于Java+SSM的种子商店网站的设计与实现(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并开发基于 JavaSSM(SpringSpringMVCMyBatis)框架的种子商店网站,针对传统种子经营门店线下渠道单一、品类展示受限、订单管理低效、农户购种选种不便等痛点,打造集种子展示、在线选购、订单管理、农资资讯…

作者头像 李华
网站建设 2026/6/10 17:33:40

基于Android的安卓云笔记系统(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并实现基于 Android 的安卓云笔记系统,针对传统本地笔记数据易丢失、多端同步不便、编辑功能单一、内容管理杂乱等痛点,打造适配移动场景的轻量化云笔记应用,实现笔记内容云端存储、多端同步、编辑便捷化、管理智能化…

作者头像 李华
网站建设 2026/6/10 13:11:23

基于Android的智慧旅游平台设计与实现(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计实现基于Android的智慧旅游平台APP,针对传统旅游中景点信息零散、行程规划盲目、线下服务对接低效、体验同质化等痛点,打造集智能导览、个性化行程规划、一站式周边服务、旅游社交互动于一体的移动服务平台,实现旅游全…

作者头像 李华
网站建设 2026/6/10 13:08:21

大型商务综合体怎么选会议设备和厂商?适配 + 稳定才是关键

大型商务办公综合体作为城市商务活动的核心载体,汇聚了各类规模、不同业态的企业,会议场景的频次、规格与多样性远超普通办公空间。会议设备作为商务沟通、决策研讨、品牌展示的核心支撑,其选型是否合理、适配,直接影响综合体的办…

作者头像 李华
网站建设 2026/6/10 13:14:43

LeetCode122. 买卖股票的最佳时机 II:贪心策略实现最大利润

在股票交易类算法题中,力扣122题「买卖股票的最佳时机 II」是经典的贪心算法应用场景。这道题的核心要求是:允许在任意天数买入和卖出股票(可多次交易),求能获得的最大利润。本文将从题目分析、思路推导、代码实现到复…

作者头像 李华