Redis 五种常见的数据结构:Hash

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tx542009/article/details/87529852

Hash 结构

Redis hash 看起来就像一个 “hash” 的样子,由键值对组成:

127.0.0.1:6379> hset user:1:info username admin
1
127.0.0.1:6379> hset user:1:info age 26
1
127.0.0.1:6379> hget user:1:info username
admin
127.0.0.1:6379> hget user:1:info age
26

通过上面的代码实例我们可以得知Hash 的数据结构为:
在这里插入图片描述
我们创建好了一个 hash 的结构,也可以追加里面的field字段和值

127.0.0.1:6379> hset user:1:info class 301
(integer) 1
127.0.0.1:6379> hget user:1:info class
"301"
127.0.0.1:6379> hgetall user:1:info
1) "username"
2) "admin"
3) "age"
4) "26"
5) "class"
6) "301"

我们也可以通过不同key,来指定不同的学生:
id 为 1 :user:1:info
id 为 2 :user:2:info
因此 Hash 便于表示 objects,实际上,你可以放入一个 hash 的域数量实际上没有限制(除了可用内存以外)。所以,你可以在你的应用中以不同的方式使用 hash。

Hash 常用的命令

相较于与 String 的命令,Hash 的命令大都是以 “H” 开头的。

命令 描述
HGET key field 获取存储在哈希表中指定字段的值
HSET key field value 将哈希表 key 中的字段 field 的值设为 value
HDEL key field1 [field2] 删除一个或多个哈希表字段
127.0.0.1:6379> hset user:2:info username xiaohua
(integer) 1
127.0.0.1:6379> hget user:2:info username
"xiaohua"
127.0.0.1:6379> hdel user:2:info username
(integer) 1
127.0.0.1:6379> hget user:2:info username
(nil)
命令 描述
HEXISTS key field 查看哈希表 key 中,指定的字段是否存在
HLEN key 获取哈希表中字段的数量
HKEYS key 获取所有哈希表中的字段
HGETALL key 获取在哈希表中指定 key 的所有字段和值
HVALS key 获取哈希表中所有值
127.0.0.1:6379> hexists user:2:info username
(integer) 0
127.0.0.1:6379> hset user:2:info username xiaohua
(integer) 1
127.0.0.1:6379> hexists user:2:info username
(integer) 1
127.0.0.1:6379> hlen user:2:info
(integer) 1
127.0.0.1:6379> hset user:2:info age 26
(integer) 1
127.0.0.1:6379> hlen user:2:info
(integer) 2
127.0.0.1:6379> hkeys user:2:info
1) "username"
2) "age"
127.0.0.1:6379> hgetall user:2:info
1) "username"
2) "xiaohua"
3) "age"
4) "26"
127.0.0.1:6379> hvals user:2:info 
1) "xiaohua"
2) "26"
命令 描述
HMGET key field1 [field2] 获取所有给定字段的值
HMSET key field1 value1 [field2 value2 ] 同时将多个 field-value (域-值)对设置到哈希表 key 中
127.0.0.1:6379> hmget user:2:info username age
1) "xiaohua"
2) "26"
127.0.0.1:6379> hmset user:2:info class 301 father xiaowang mother xiaocai
OK
127.0.0.1:6379> hkeys user:2:info
1) "username"
2) "age"
3) "class"
4) "father"
5) "mother"
127.0.0.1:6379> hgetall user:2:info
 1) "username"
 2) "xiaohua"
 3) "age"
 4) "26"
 5) "class"
 6) "301"
 7) "father"
 8) "xiaowang"
 9) "mother"
10) "xiaocai"

Hash 还有很多其他的命令,大家可以看下这个链接:
Hash 命令大全

之前准备学习的时候写博客,可是都没有坚持下去,希望这次可以有始有终。
Redis 坚持第一天 :为什么要使用 redis ?
Redis 坚持第二天 :Redis 的安装与启动
Redis 坚持第三天 :Redis 使用配置文件启动,常见配置学习。
Redis 坚持第四天 :

  1. Redis 五种常见的数据结构:String
  2. Redis 五种常见的数据结构:Hash

猜你喜欢

转载自blog.csdn.net/tx542009/article/details/87529852