详解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) 修改

字段级原子操作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解redis(9):数据结构set

一、Redis Set 是什么Set 不重复 无顺序的集合一个 自动去重、不关心顺序 的容器二、Set 和 List 的本质区别对比项ListSet是否允许重复✅ 允许❌ 不允许是否有顺序✅ 有顺序(下标)❌ 无序能否按下标访问✅ LINDEX❌ 不支持是否支持集合运算❌✅ 交集 …

一文学习 了解 OSI模型、TCP/IP模型、网络封包

2017-8-31 [[N_EMQX]] [[Java Email]] OSI 7层模型 OSI 是 Open System Interconnect的缩写,意为开放式系统互联. 是国际标准化组织(ISO)提出的一个概念性框架,用于定义网络通信系统的标准架构. OSI七层参考模型的…

深入解析:Linux动态存储管理的逻辑卷使用示例

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

北京附近上门回收酒

家里堆着过节收到的茅台五粮液没处用?老父亲珍藏多年的董酒、习酒想变现却怕踩坑?手里有闲置洋酒不知道找谁回收靠谱?在北京,找对渠道才能让闲置名酒既卖得上价,又省心安全——京城亚南酒业,深耕本地名酒回收多年…

YOLOv8目标检测:从理论到实战的飞跃之旅

目录一、YOLOv8,目标检测的新宠儿二、YOLOv8 核心探秘2.1 架构解析2.2 工作流程2.3 优势剖析三、实战项目开启3.1 环境搭建3.2 数据准备3.3 模型训练3.4 模型评估3.5 推理应用四、实战案例展示4.1 工业质检实例4.2 智能安防应用五、常见问题与解决方案5.1 显存不足5…

用AI制作表格实战:20个高频ChatExcel指令词,告别低效Excel操作

随着AI技术的不断成熟,越来越多职场人开始思考一个现实问题:怎么用AI制作表格,才能真正省时间、少加班? 最近,ChatExcel上线了全新的AI做表功能,精准击中了打工人在表格制作和数据处理上的痛点。 那么问题…

打破 NotebookLM 最后的限制:我写了个开源工具,把 PDF 瞬间变回可编辑 PPT!

前言:NotebookLM 很好,但生成的 PDF 让我很头秃 最近 Google 的 NotebookLM 彻底火了,尤其是它一键生成的演示文稿(Slides),逻辑清晰、排版精美。但作为一个打工人/学生党,在使用过程中有一个巨大的痛点: 它导…

力扣122 买卖股票的最佳时机II java实现

122.买卖股票的最佳时机II给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。然而,你可以在 同一天 多次买卖该股票,但要确…

STM32项目分享:图书馆环境监测系统

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 ​ 七、包含内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: https://www.bilibili.com/video/BV13PijBHEAv/?…

2026年矩阵系统避坑指南:市面主流软件真实横评,到底哪家好?

“矩阵系统哪家好?”这个问题在2026年的运营圈里,其实是在问:“怎么用最少的人,安全地管好最多的号,还能把钱赚了?”市面上的工具几百款,从几十块的群控软件到几十万的SaaS系统,水很…

2026年私域的八大挑战及发展方向

2026年,私域运营进入“合规化、专业化、价值化”的深水区,全域融合与AI技术的深度渗透,既放大了传统运营痛点,也催生了新的增长机遇。基于行业调研与新规动态,私域领域的八大挑战愈发清晰,而对应的破局方向…

7×24小时技术支持的售后服务系统有哪些?

在数字化转型的背景下 ,企业需要保障业务连续性 ,提供724小时的技术支持 。选择—家提供724小时技术支持的售后服务系统提供商 ,能够帮助企业提升售后服务效率 ,降低服务成本 ,提高客户满意度。在724小时技术支持售后服…

2026年矩阵系统选型图谱:5款主流软件的“性格画像”与适用场景匹配

在选择矩阵系统时,很多企业容易陷入“谁功能最多”的误区。实际上,没有最好的系统,只有最适合业务流派的工具。为了公平起见,我们选取了市面上5种不同定位的代表性产品,从核心场景、功能侧重及适用人群三个维度进行等量…

能对接电商系统的售后服务系统有哪些?

在互联网电商行业 ,售后服务系统需要与电商系统对接 ,实现业务协同 。选择—家能对接电商系统的售后服务系统提供商 ,能够帮助企业提升售后服务效率 ,降低服务成本 ,提高客户满意度。在电商对接售后服务系统领域 &…

APS概念-需求时间供应时间

一、核心概念解读这是 APS 系统中需求时间与供应时间的精细化配置规则,用来解决 ERP 仅按 “天” 跟踪订单、无法匹配生产实际小时 / 分钟级节奏的问题,通过精准的时间设置,确保供应与需求的无缝衔接。二、参数定义与默认值参数定义默认值需求…

APS概念-新订单开始日期延迟

一、核心概念解读新订单开始日期延迟是 APS 系统中为新插入的订单预留缓冲时间的参数,它会在订单正式排程前,提前一段固定的小时数来完成文书、采购、准备等前置工作,避免因紧急插单导致的生产混乱。二、关键作用与场景应对紧急插单当客户订单…

APS概念-可承诺量 / 承诺能力拉动容差

一、核心概念解读可承诺量 / 承诺能力拉动容差是 APS 系统在计算 ATP(可承诺量)和 CTP(承诺能力)时的关键参数,它定义了系统在寻找最优交付日期时的时间搜索范围,直接影响计划的精准性和计算效率。二、关键…

APS概念-ATP和CTP

一、ATP(Available to Promise,可承诺量)核心定义:指企业当前库存、在途生产和采购的物料中,尚未被承诺给客户的可用数量。它只关注物料数量,不考虑产能约束。计算逻辑:可用库存 计划生产量 - …

APS概念-供应耗用容差

一、核心概念解读供应耗用容差是 APS 系统中用于处理物料供应与需求时间匹配的灵活规则,它允许系统在物料 “实际可用日期” 之前,提前将供应分配给需求,从而避免因供应与需求日期的微小偏差导致计划中断。二、容差因子的含义容差因子用负数表…

互联网医院系统|互联网医院成品|互联网医院开发

互联网医院系统的兴起,正悄然改变传统医疗服务的边界与模式。通过技术赋能,医疗资源得以跨越时空限制,为患者提供更高效、便捷的诊疗体验。这一系统不仅整合了在线问诊、电子处方、药品配送、慢病管理等核心功能,还通过数据互联打…