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

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java小小星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值