【Redis之Hash类型的详解&Hash类型中常用命令的实践】

Redis之Hash类型的详解&Hash类型中常用命令的实践

前面我们通过对Redis中的String的命令做了充分的讲解以及实践学习以及通过对Redis中String类型之Bit命令的详解以及Bit命令的实践进行了学习,接下来我们学习Redis中的Hash类型以及Hash中常用命令的实践学习。

Redis中String类型内容请看这里呦:
【Redis之String类型的详解&String类型中常用命令的实践】
Redis中String类型是Bit命令内容请看这里呦:
【Redis中String类型之Bit命令的详解&Bit命令的实践】

Hash的基本介绍

Hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。

Redis中Hash中常用的命令

Hash中常用的命令备注说明
hset设置key中字段的值
hget获取key中字段的值
hmset批量设置key中的字段
hmget批量获取key中字段的值
hdel删除key中指定的字典
hsetnx设置key中的字段的值,如果字段存在就忽略
hvals获取key中所有的字段的值
hkeys获取key中的所有的字段
hgetall获取key中的所有的字段及值
hexists判断key中的字段是否存在
hincrby将key中的字段增加特定的值
hincrbyfloat和hincrby类似增加的float类型的数据
hlen获取key中的字段的个数
hstrlen获取key中某个字段的值得长度

Redis中Hash命令的格式

hash中常用的命令 key(整个key,包含许多key、value) field1(小key) value1(与小key对应的value) field2 value2…

hset命令

给hash集合中的key,对应的field键赋值value(可以同时设置多个)

127.0.0.1:6379> hset student username xiaoming password 123456
(integer) 2
127.0.0.1:6379> 

在这里插入图片描述

hget命令

获取该集合中field对应的value值

127.0.0.1:6379> hget student username
"xiaoming"
127.0.0.1:6379> hget student password
"123456"

在这里插入图片描述

hmset命令

hmset命令用来批量设置对应的key中的字段的值

127.0.0.1:6379> hmset student1 username zhangsan password 123 age 18
OK

在这里插入图片描述

hmget命令

hmset命令用来批量取出对应的key中的字段的值

127.0.0.1:6379> hmget student1 username password age
1) "zhangsan"
2) "123"
3) "18"
127.0.0.1:6379> 

在这里插入图片描述

hdel命令

hdel命令可以移除指定的key中对应的字段,如果字段不存在则忽略。

127.0.0.1:6379> hmget student1 username password age
1) "zhangsan"
2) "123"
3) "18"
127.0.0.1:6379> hdel student1 age 18
(integer) 1
127.0.0.1:6379> hmget student1 username password
1) "zhangsan"
2) "123"
127.0.0.1:6379> hmget student1 age
1) (nil)
127.0.0.1:6379> 

在这里插入图片描述

hsetnx命令

如果设置的字段不存在就设置值,如果存在就忽略。

127.0.0.1:6379> hmget student1 username password
1) "zhangsan"
2) "123"
127.0.0.1:6379> hsetnx student1 age 18
(integer) 1
127.0.0.1:6379> hmget student1 username password age
1) "zhangsan"
2) "123"
3) "18"
127.0.0.1:6379> 

在这里插入图片描述

hvals命令

hvals可以返回指定的key中所有字段的值

127.0.0.1:6379> hvals student1
1) "zhangsan"
2) "123"
3) "18"
127.0.0.1:6379> 

hkeys命令

hkeys命令可以获取指定的key中的所有的字段信息。

127.0.0.1:6379> hkeys student1
1) "username"
2) "password"
3) "age"
127.0.0.1:6379> 

在这里插入图片描述

hgetall命令

hgetall命令可以获取指定key中的所有的字段和对应的值,返回的形式是先返回字段然后是对应的值,所以返回的数据的长度是本身长度的两倍。

127.0.0.1:6379> hvals student1
1) "zhangsan"
2) "123"
3) "18"
127.0.0.1:6379> hkeys student1
1) "username"
2) "password"
3) "age"
127.0.0.1:6379> hgetall student1
1) "username"
2) "zhangsan"
3) "password"
4) "123"
5) "age"
6) "18"
127.0.0.1:6379> 

在这里插入图片描述

hexists命令

hexists用来判断指定的key中是否还有某字段,有返回1,没有返回0。

127.0.0.1:6379> hgetall student1
1) "username"
2) "zhangsan"
3) "password"
4) "123"
5) "age"
6) "18"
127.0.0.1:6379> hexists student1 username
(integer) 1
127.0.0.1:6379> hexists student1 password
(integer) 1
127.0.0.1:6379> hexists student1 age
(integer) 1
127.0.0.1:6379> hexists student1 sex
(integer) 0
127.0.0.1:6379> 

在这里插入图片描述

hincrby命令

hincrby用来增加指定的key中的某字段的值,如果字段不存在,则会创建字段与key关联,默认值为0然后增加相关数据。如果字段对应的值不是数字则报错。

127.0.0.1:6379> hincrby student1 age 2
(integer) 20
127.0.0.1:6379> hincrby student1 username 2
(error) ERR hash value is not an integer
127.0.0.1:6379> 

在这里插入图片描述

hincrbyfloat命令

hincrbyfloat用来增加指定的float类型的值,key中的某字段的值,如果字段不存在,则会创建字段与key关联,默认值为0然后增加相关数据。如果字段对应的值不是数字则报错。

127.0.0.1:6379> hincrbyfloat student1 age 2.2
"22.2"
127.0.0.1:6379> hincrbyfloat student1 username 2.2
(error) ERR hash value is not a float
127.0.0.1:6379> 

在这里插入图片描述

hlen命令

hlen命令获取的是指定的key下的字段的个数。

127.0.0.1:6379> hlen student1
(integer) 3
127.0.0.1:6379> hkeys student1
1) "username"
2) "password"
3) "age"
127.0.0.1:6379> 

在这里插入图片描述

hstrlen

strlen获取指定key下的字段的值的长度。

127.0.0.1:6379> hgetall student1
1) "username"
2) "zhangsan"
3) "password"
4) "123"
5) "age"
6) "22.2"
127.0.0.1:6379> hstrlen student1 username
(integer) 8
127.0.0.1:6379> hstrlen student1 password
(integer) 3
127.0.0.1:6379> hstrlen student1 age
(integer) 4
127.0.0.1:6379> 

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硕风和炜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值