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

本文涉及的产品
云数据库 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
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
XML JSON NoSQL
Redis的常用数据结构之字符串类型
Redis的常用数据结构之字符串类型
21 0
|
1月前
|
NoSQL Redis
Redis的常用数据结构之哈希类型
Redis的常用数据结构之哈希类型
13 0
|
4天前
|
消息中间件 存储 负载均衡
Redis类型 Stream Bitfield
Redis类型 Stream Bitfield
10 0
|
17天前
|
存储 NoSQL 算法
Redis入门到通关之Redis数据结构-Hash篇
Redis入门到通关之Redis数据结构-Hash篇
22 1
|
18天前
|
存储 缓存 NoSQL
Redis入门到通关之Hash命令
Redis入门到通关之Hash命令
|
19天前
|
存储 缓存 NoSQL
Redis 命令全解析之 Hash类型
Redis 命令全解析之 Hash类型
12 1
|
19天前
|
存储 消息中间件 缓存
Redis 命令全解析之 String类型
Redis 命令全解析之 String类型
15 1
|
1月前
|
存储 消息中间件 NoSQL
Redis的常用数据结构之列表类型
Redis的常用数据结构之列表类型
38 6
|
存储 NoSQL Redis
Redis命令——哈希(Hash)
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
1468 0
|
存储 NoSQL Redis
redis必杀命令:哈希(Hash)
题记: Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。 Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
1020 0