【Redis】Hash哈希类型基本使用

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 【Redis】Hash哈希类型基本使用

1. 简介

  • Redis hash 是一个键值对集合。
  • Redis hash是一个string类型的fieldvalue的映射表,hash特别适合用于存储对象。类似Java里面的Map<String,Object>

在这里插入图片描述

  • 用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储
  • 主要有以下2种存储方式:
  1. 每次修改用户的某个属性需要,先反序列化改好后再序列化回去。开销较大。

在这里插入图片描述

  1. 用户ID数据冗余

在这里插入图片描述

在这里插入图片描述

  • 通过 key(用户ID) + field(属性标签) 就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制的问题

在这里插入图片描述

2. 常用命令

  • <key>集合中的 <field>键赋值<value>
hset <key> <field> <value>
  • <key1>集合<field>取出 value
hget <key1> <field>

在这里插入图片描述

  • 批量设置hash的值
hmset <key1> <field1> <value1> <field2> <value2>...

在这里插入图片描述

  • 查看哈希表 key 中,给定域 field 是否存在
hexists <key1> <field>

在这里插入图片描述

  • 列出该hash集合的所有field
hkeys <key>
  • 列出该hash集合的所有value
hvals <key>

在这里插入图片描述

  • 为哈希表 key 中的域 field 的值加上增量
hincrby <key> <field> <increment>
  • 将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在
hsetnx <key> <field> <value>

在这里插入图片描述

3. Hash类型的数据结构

  • Hash类型对应的数据结构是两种:ziplist(压缩列表),hashtable(哈希表)。当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable
目录
相关文章
|
22天前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
201 5
|
9月前
|
存储 缓存 NoSQL
Redis哈希结构在提升数据检索速度中的实践应用
本文详细介绍了 Redis 哈希结构的特点、常见使用场景以及如何在实际应用中利用哈希结构提升数据检索速度。通过合理使用 Redis 哈希结构,可以显著提高系统的性能和响应速度。在实际开发中,结合具体业务需求,灵活运用 Redis 提供的多种数据结构,构建高效的缓存和数据存储解决方案。希望本文能帮助您更好地理解和应用 Redis 哈希结构,提升数据检索速度。
215 18
|
12月前
|
存储 消息中间件 NoSQL
Redis数据结构:List类型全面解析
Redis数据结构——List类型全面解析:存储多个有序的字符串,列表中每个字符串成为元素 Eelement,最多可以存储 2^32-1 个元素。可对列表两端插入(push)和弹出(pop)、获取指定范围的元素列表等,常见命令。 底层数据结构:3.2版本之前,底层采用**压缩链表ZipList**和**双向链表LinkedList**;3.2版本之后,底层数据结构为**快速链表QuickList** 列表是一种比较灵活的数据结构,可以充当栈、队列、阻塞队列,在实际开发中有很多应用场景。
|
存储 NoSQL Redis
Redis 哈希(Hash)
10月更文挑战第16天
166 1
|
消息中间件 存储 监控
redis 的List类型 实现 排行榜
【10月更文挑战第8天】
176 2
|
存储 NoSQL Redis
redis-set类型
【10月更文挑战第6天】
166 1
|
12月前
|
存储 NoSQL 关系型数据库
Redis的ZSet底层数据结构,ZSet类型全面解析
Redis的ZSet底层数据结构,ZSet类型全面解析;应用场景、底层结构、常用命令;压缩列表ZipList、跳表SkipList;B+树与跳表对比,MySQL为什么使用B+树;ZSet为什么用跳表,而不是B+树、红黑树、二叉树
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
777 0
|
运维 NoSQL 关系型数据库
|
6月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?

热门文章

最新文章

下一篇
开通oss服务