开发者学堂课程【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 信息的案例(name,age)
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 操作