Redis 中 Hash 的使用细节 | 学习笔记

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习 Redis 中 Hash 的使用细节

开发者学堂课程【Go语言核心编程 - 面向对象、文件、单元测试、反射、TCP编程Redis 中 Hash 的使用细节】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/626/detail/9787


Redis 中 Hash 的使用细节

 

内容介绍

一、Redis 数据类型和 CRUD

二、hgetall 的使用

三、hdel 的使用

四、使用细节

五、hlen 的使用

六、hexists key field 的使用

七、作业布置

 

一、Redis 数据类型和 CRUD

1.Hash(哈希,类似 golang 里的 Map)-CRUD

举例说明 Redis 的 Hash 的 CRUD 的基本操作。 hset/hget/hgetall/hdel

演示添加 user 信息的案例(nameage)

Hmset  user1  name smith

1

Hmset  user1  age  30

1

Hmset  user1  job  golang  coder

1

Hmeset  user1 name

smith

Hget  user1  age

30

Hget  user1  job

golang  coder

Hgetall  user1

<1>name

<2>smith

<3>age

<4>30

<5>job

<6>golang  coder

2.Hash-使用细节和注意事项

在给 user 设置 name 和 age 时,前面我们是一步一步设置使用 hmset 和 hmget 可以一次性来设置多个 field 的值和返回多个 field 的值。

hlen 统计一个 hash 有几个元素

③hexists key field 的使用

④查看哈希表 key 中,给定域 field 是否存在

 

二、hgetall的使用

获取时不逐一获取,而是获取全部

在相关命令目录(使用 CTRL + F 快速查找)查找相关说明的指令

输入代码演示:

hgetall user1

按照存放顺序获取,并且十分稳定

 

三、hdel的使用

若不需要某个值,需要输入 hdel +值 进行删除

 

四、使用细节

在给 user 设置 name 和 age 时,使用 hmset 和 hmget 可以一次性设置多个 field 的值和返回多个 field 的值

1.案例

hmset  user2  name  jerry  age 110  job java coder [ field value....]

//java coder 之间有空格需要加引号,否则语法会报错

回车:

hmset  user2  name  jerry  age 110  job java coder OK

获取:

hmget  user2  name  age  job

<1>jerry

<2>110

<3>“\xa1 Java coder

// “\a1”是把空格识别进入

2.再次测试

hmset  user2  name  jerry  age 110  job java coder”[ field value....]

hmset  user2  name  jerry  age 110  job java coder OK

hmget  user2  name  age  job

<1>jerry

<2>110

<3>“ Java coder

 

四、hlen的使用

hlen 统计一个hash 有几个元素

输入指令 hlen user2

回车:

3

//有三个字段和元素

 

五、hexists key field的使用

查看哈希表 key 中,给定域 field 是否存在

hmset  user2  name  jerry  age 110  job java coder”

hmset  user2  name  jerry  age 110  job java coder OK

hmget  user2  name  age  job

<1>jerry

<2>110

<3>“ Java coder

hlen  user2

3

hexists  user2  name

1

hexists  user2  name2

0

 

六、作业布置

举例,存放一个 Student 信息

Stu1 name 张三 age 30 score 80 address 北京

说明:

通过相关指令,完成对 Student 的 crud 操作

相关实践学习
基于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
相关文章
|
3月前
|
NoSQL Go Redis
Go语言中如何扫描Redis中大量的key
在Redis中,遍历大量键时直接使用`KEYS`命令会导致性能瓶颈,因为它会一次性返回所有匹配的键,可能阻塞Redis并影响服务稳定性。为解决此问题,Redis提供了`SCAN`命令来分批迭代键,避免一次性加载过多数据。本文通过两个Go语言示例演示如何使用`SCAN`命令:第一个示例展示了基本的手动迭代方式;第二个示例则利用`Iterator`简化迭代过程。这两种方法均有效地避免了`KEYS`命令的性能问题,并提高了遍历Redis键的效率。
50 0
|
6月前
|
存储 缓存 NoSQL
Redis 命令全解析之 Hash类型
Redis 命令全解析之 Hash类型
62 1
|
6月前
|
NoSQL Redis
redis-学习笔记(hash)
redis-学习笔记(hash)
34 0
|
存储 缓存 NoSQL
【Redis从头学-6】Redis中的Hash数据类型实战场景之购物车
【Redis从头学-6】Redis中的Hash数据类型实战场景之购物车
488 0
|
6月前
|
存储 消息中间件 监控
Redis的数据类型以及如何解决大Key问题
在当今的数字化时代,数据成为了企业竞争力的核心要素之一。而Redis作为一种高效的内存数据结构,因其快速存取和丰富的数据类型特性被广泛应用于各类数据处理场景。在这篇文章中,我们将深入探讨Redis支持的数据类型以及如何解决大Key问题。通过了解Redis的数据类型以及相应的使用场景,我们可以更好地利用Redis的特性来满足各种数据存储需求。同时,对于大Key问题的解决策略,将帮助我们在处理大规模数据时提高性能和效率。让我们一起进入Redis的世界,探索其数据类型和大Key问题的解决方案。
241 1
|
6月前
|
存储 NoSQL Redis
②【Hash】Redis常用数据类型:Hash [使用手册]
②【Hash】Redis常用数据类型:Hash [使用手册]
68 0
|
NoSQL Java Redis
Redis(十一)-Redis的常用数据类型之zset类型
Redis有序集合zset与普通集合set非常相似,还没了解过set数据类型的小伙伴可以先了解一波! ,它也是一个没有重复元素的字符串集合。
101 0
Redis(十一)-Redis的常用数据类型之zset类型
|
存储 JSON NoSQL
Redis 数据类型hash以及使用场景
Redis 数据类型hash以及使用场景
5653 3
Redis 数据类型hash以及使用场景
|
存储 NoSQL Java
Redis(九)-Redis的常用数据类型之Hash表
Redis hash 是一个键值对集合,
95 0
|
NoSQL 网络协议 Java
Redis 中 Hash 的使用细节 | 学习笔记
快速学习 Redis 中 Hash 的使用细节