Redis 中 Hash 的基本使用 | 学习笔记

简介: 快速学习 Redis 中 Hash 的基本使用

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

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


Redis 中 Hash 的基本使用

 

内容介绍

一、哈希的基本介绍

二、哈希基本案例的讲解

 

一、哈希的基本介绍

哈希是一个人的名字。哈希这个人如此有名是因为他搞了一个哈希算法。哈希类似于 golang 里面的 map 这种结构。刚才所见的字符串是非常简单的。在 redis 里面去保留一个人的信息,如果把分身去掉是不行的。当时在讲 go 语言的时候也是这样讲的,单个数据类型是不行的。Redis 的设计者想一定会有人去描绘一个相对综合的数据,这个时候就搞了一个哈希。哈希是一个键值对的集合,而 map 本质上也是一个键值对的集合。如果 user1 是 map 的名字,那么哈希的名字就是 user1。Redis hash 是一个 string 类型的 field 和 value 的映射表,哈希特别适合用于存储对象,反过来就是特别适合存放结构体。在 golang 里面对象就是用结构体体现出来的,其实以后若是存结构体就可以这样做。

 

二、哈希基本案例的讲解

举例:存放一个 user 信息:(user1)

user1 name “Smith ”age30 golang “coder”

说明:  key:user1   name Smith 和 age30 就是两队 field-value

若是要求在 redis 里面存放一个 user 信息,这个 user 的名字就叫 user1。这个 user 里面有名字为 Smith,它的年龄是30岁,另外假设他的工作为 golang 开发工程师。如果在 golang 里面去定义肯定会选择 map,但也可能选择其他的,或者是放一个结构体。这个时候在 redis 中可以用哈希来保存。首先往里面放这个哈希怎么存呢?它的指令发生变化。前面放字符串的时候用的是 set。如果放哈希这个结构则要 hset。前面的 h 代表的是哈希的意思。现在来演示一下。

127.0.0.1:6379>hset user1 name “Smith”1

127.0.0.1:6379>hset user1 age 301

127.0.0.1:6379>hset user1 job “golang coder”1

127.0.0.1:6379>hget user1 name “Smith”

127.0.0.1:6379>hget user1 age 30

127.0.0.1:6379>hget user1 job “golang coder”

这两对引号可以给也可以不给。这个写完过后回车就可以了。把年龄再写一次。这个 user1 还有一个必要的 value 就是工作岗位,它是 golang 工程师。当然它也可以一次性的写。获取的话这里有一个 hget。比如写一个 user1,取得 user1 里面的名字,一回车 smith 就找到了。如果要取他的年龄,user1 年龄为 age,也取到了是三十岁。可以看到给出一个整数也是无用的,等到它存到 redis 里面就都变成字符串了,它本质都是字符串。Redis 在内存操作上的速度是非常快的,这也是 Redis 非常流行的原因。前三个分别为存放姓名、年龄、工作,后三个就分别是获取姓名、年龄和工作。这说明当把数据存放到 redis 就都变成了字符串。

相关文章
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
753 6
|
存储 NoSQL Java
Redis如何处理Hash冲突?
在 Redis 中,哈希表是一种常见的数据结构,通常用于存储对象的属性,对于哈希表,最常遇到的是哈希冲突,那么,当 Redis遇到Hash冲突会如何处理?这篇文章,我们将详细介绍Redis如何处理哈希冲突,并探讨其性能和实现细节。
461 2
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
1986 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
存储 JSON NoSQL
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
这篇文章是关于Redis基本数据结构的学习笔记,包括了String、Hash、Set、List和SortedSet的介绍和常用命令。文章解释了每种数据结构的特点和使用场景,并通过命令示例演示了如何在Redis中操作这些数据结构。此外,还提供了一些练习示例,帮助读者更好地理解和应用这些数据结构。
redis基本数据结构(String,Hash,Set,List,SortedSet)【学习笔记】
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
1677 3
|
存储 NoSQL Redis
Redis 哈希(Hash)
10月更文挑战第16天
236 1
|
存储 Prometheus NoSQL
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
269 3
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
220 3
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
493 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
1510 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习