当前位置: 首页 > news >正文

【Redis】hash类型

目录

  • 1、介绍
  • 2、底层实现
    • 【1】压缩列表
    • 【2】哈希表
    • 【3】压缩列表和哈希表对比
    • 【4】listpack(Redis7.0+使用)
  • 3、常用指令
  • 4、使用场景

1、介绍

Redis的hash是一种键值对集合类型,用于存储对象或结构化数据。其核心特点就是将多个字段(field)与值(value)映射到同一个键(key)下,适用于存储具有多个属性的实体。

2、底层实现

【1】压缩列表

适用条件

1、字段数量 ≤ hash-max-ziplist-entries(默认512)
2、每个字段名和值的字符串长度 ≤ hash-max-ziplist-value(默认64字节)

【2】哈希表

适用条件

任一字段或值超过长度限制,或字段总数超过阈值时

【3】压缩列表和哈希表对比

特性压缩列表哈希表
内存占用极低(连续存储、无指针开销)较高(需存储指针、链表节点等元数据)
查询效率平均O(n)(需遍历)平均O(1)(直接哈希定位)
插入/删除效率平均O(n)(需移动后续元素)平均O(1)(链表操作或扩容)
适用场景字段数少且值小字段数多或值较大时自动切换
扩容开销无需显示扩容需渐进式rehash(可能短暂阻塞)
内存碎片几乎无碎片(连续内存)可能会产生碎片(平凡增删时)

【4】listpack(Redis7.0+使用)

在Redis 7.0中,压缩列表数据结构被替换成listpack数据结构来实现。

3、常用指令

命令语法作用
HSETHSET key field value设置哈希表中字段的值
HGETHGET key field获取哈希表中字段的值
HMSETHMSET key field1 value1 [field2 value2 …]批量设置哈希表的字段(redis4.0中HSET支持批量)
HMGETHMGET key field1 [field2 …]批量获取哈希表的字段值
HGETALLHGETALL key获取哈希表中所有字段和值
HDELHDEL key field1 [field2 …]删除哈希表中的一个或多个字段
HEXISTSHEXIST key field检查哈希表中字段是否存在
HKEYSHKEYS key获取哈希表中所有字段名
HVALSHVALS key获取哈希表中所有字段值
HLENHLEN key获取哈希表中字段数量
HINCRBYHINCRBY key field increment对哈希表中的字段值进行整数增量操作
HINCRBYFLOATHINCRBYFLOAT key field increment对哈希表中的字段值进行浮点数增量操作
HSETNXHSETNX key field value仅当字段不存在时设置值

4、使用场景

特性适用命令使用场景
对象存储HSET/HGET/HGETALL存储结构化对象(如用户、商品信息),避免为每个属性创建独立key
批量读写HMSET/HMGET/新版HSET批量初始化或更新对象属性,减少网络请求次数
计数器HINCRBY/ HINCRBYFLOAT原子性增减数值(如用户积分、库存、点赞)

相关文章:

  • day37图像处理OpenCV
  • Huffman(哈夫曼)解/压缩算法实现
  • 高职人工智能技术应用专业(计算机视觉方向)实训室解决方案
  • 蜜罐管理和数据收集服务器:Modern Honey Network (MHN)
  • Linux 内核网络协议栈中 inet_stream_ops 与 tcp_prot 的深度解析
  • Python----深度学习(基于深度学习Pytroch簇分类,圆环分类,月牙分类)
  • uniapp 仿企微左边公司切换页
  • 第11章 面向分类任务的表示模型微调
  • 同步定时器的用户数要和线程组保持一致,否则jmeter会出现接口不执行’stop‘和‘×’的情况
  • MySQL元数据库完全指南:探秘数据背后的数据
  • Axure PR 9 中继器 标签
  • MTKAndroid13-Launcher3 屏蔽部分app不让显示
  • 如何让 HTML 文件嵌入另一个 HTML 文件:详解与实践
  • 电脑温度怎么看 查看CPU温度的方法
  • js数据结构之栈
  • 【Java】Maven3.5.0安装
  • Qt 调试信息重定向到本地文件
  • maven依赖排查与注意点
  • Cursor如何手动添加多个大模型?
  • uni-app中获取用户实时位置完整指南:解决权限报错问题
  • 迟来的忍者与武士:从《刺客信条:影》论多元话语的争议
  • 外交部:美国是国际军控与防扩散体系的最大破坏者
  • A股三大股指涨跌互现,电力股走强,地产股冲高回落
  • 最新研究挑战男性主导说:雌性倭黑猩猩联盟对付雄性攻击,获得主导地位
  • 见微知沪|最大力度消费补贴,最大程度满足人们对美好生活的向往
  • 第四届全民阅读大会在太原举办,李书磊出席并讲话