开发者学堂课程【Redis 入门到精通(基础篇):数据类型-hash 类型介绍与基本操作】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/764/detail/13376
数据类型-hash 类型介绍与基本操作
内容介绍
一、hash 类型
二、Hash 类型数据的基本操作
一、hash 类型
1. 存储的困惑
对象类数据的存储如果具有较频繁的更新需求操作会显得笨重
首先看一下我们之前存储的一些问题,这个是之前存储的格式,用 json 的格式储存,取出数据比较简单,但是在修改方面比较笨重,然后使用第一种,对应的值分开算,都是一个对象的数据,进行一个区分,左边是主键,右边是属性,然后把左边合成,右边属性对应相应的值,这样右边呈现了一个存储空间,有点像redis套redis,这种对应的数据还是value,前面的是key,而中间部分,我们则称作字段field,现在我们看到的右边这个结构就是hash,换句话说,现在一个key对应的不仅仅是一个单独的数据,而是一堆数据,而这一堆数据跟我们之前看到的数据是一模一样的,这就是我们所谓的 hash类型。
2、新的存储要求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息,需要的存储结构:一个存储空间保存多个键值对数据
Hash类型:底层使用哈希表结构实现数据存储
3. Hash 存储结构优化
如果field数量较少,存储结构优化为类数组结构
如果field数量较多,存储结构使用 HahsMap 结构
Redis里面的小型redis,一个存储空间保存多个键值对数据,这就是 hash 的结构。了解了数据类型,那么接下来就是看一下基本操作,类比 Java 的 hashmap 的操作。
一共有三个,一个是添加修改,一个是获取,还有一个删除,用的是 hset,然后数据就都录入进去了,使用getall就可以导出看到所有的数据。
二、Hash 类型数据的基本操作
添加/修改数据
hset key field value
获取数据
hget key field
Hgetall key
删除数据
hdel key field[field2]
添加/修改多个数据
Hmset key field value field2 value
获取多个数据
Hmget key field1 field2
获取哈希表中字段的数量
Hlen key
获取哈希表中是否存在指定的字段
Hexists key field
一次性操作多个,直接进行验证,要区分清楚纯数值,还是字符,然后在操作时,如果已经有了这个 field,那么就进行修改,如果没有,那就添加上去,符合我们的认知规律,hlen 跟 hexists 进行一个简单的测试,很明显一目了然。