Redis入门之散列(Hash)类型

Redis提供了散列类型,散列的值是一个field和value的映射表,而获取散列的键与上一节中字符串类型中的键一样.
如下图,描述了Redis中散列类型:
在这里插入图片描述
键名为: car:2
字段名分别有:color、name、price
对应的字段名为:白色、奥迪、90万
通过上图可以看出:字段和字段值构成了一个映射表,通过键可以对这个映射表进行一些操作.下面我们来看一下Redis中关于散列的命令:

1. 赋值与取值
HSET key field value
HGET key field
HMSET key field value [field value ...]
HMGET key field [field ...]
HGETALL key

HSET命令的作用是给字段赋值,HGET命令是用来获得字段的值.用法如下:
在这里插入图片描述
HSET命令不区分是插入操作还是更新操作,更新数据时不需要判断字段是否存在,若字段不存在,会自动创建该字段,并将该字段的值设置成为要设置的值,当字段存在时,则更新字段值.当不存在时,HSET还会自动创建它.
HMSET命令可以同时设置多个字段的值,
HMGET命令可以同时获得多个字段的值,例如:
在这里插入图片描述

2. 判断字段是否存在
HEXISTS key field

HEXISTS命令用来判断一个字段是否存在, 如果存在则范湖1,否则返回0(如果键不存在也会返回0),用法如下:
在这里插入图片描述

3. 当字段不存在时赋值
HSET key field value

HSETNX命令与HSET命令类似,区别在于,如果字段已经存在,HSETNX命令将不会执行任何操作.例如:
在这里插入图片描述

可以看到,第一次创建字段是可以正常执行的,返回值为1,当第二次想要设置同样的字段的时候的时候,由于name字段已经存在,所以不会执行.

4. 增加数字
HINCRBY key field value

散列中没有HINCR命令,但是有HINCRBY命令,通过HINCRBY key field 1来实现.例如:
在这里插入图片描述
可以看出,当增加的不是整数时,会报错,当增加的字段不存在时,HINCRBY会自动创建该字段,并初始化为0,然后加上要增加的数.命令成功执行后返回1,例如:
在这里插入图片描述

5. 删除字段
HDEL key field [field ...]

HDEL命令可以删除一个或多个字段,返回值是被删除的字段的个数,例如:
在这里插入图片描述

6. 只获取字段名或字段值

有时仅仅需要获取键中的所有字段的名字而不是字段名,有时是获取字段中所有的字段值

HKEYS key
HVALS key

用法如下:
在这里插入图片描述

7. 获取字段数量

获取键对应的值中含有的字段数量.

HLEN key

在这里插入图片描述

参考资料:《Redis入门指南》–李子骅

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值