Redis:哈希表HSET、HSETNX、HGET、HEXISTS、HMSET、HMGET、HKEYS、HVALS、HGETALL、HDEL命令介绍

HSET

HSET hash field value
可用版本: >= 2.0.0
时间复杂度: O(1)

将哈希表hash中域field的值设置为value

演示

如果给定的哈希表并不存在, 那么一个新的哈希表将被创建并执行HSET操作。当HSET命令在哈希表中新创建 field域并成功为它设置值时, 命令返回 1 。
在这里插入图片描述

如果域field已经存在于哈希表中, 那么它的旧值将被新值value覆盖,并且HSET命令返回 0 。

在这里插入图片描述

HSETNX

HSETNX hash field value
可用版本: >= 2.0.0
时间复杂度: O(1)

当且仅当域field尚未存在于哈希表hash的情况下,才将它的值设置为value

演示

如果给定域已经存在于哈希表当中, 那么命令将放弃执行设置操作,并且返回 0。
在这里插入图片描述
如果哈希表hash不存在, 那么一个新的哈希表将被创建并执行HSETNX命令,或者哈希表hash存在,而域field在哈希表hash中不存在,HSETNX命令会执行成功,并且返回 1。

在这里插入图片描述

HGET

HGET hash field
可用版本: >= 2.0.0
时间复杂度: O(1)

返回哈希表中给定域的值。

演示

HGET命令在默认情况下返回给定域的值。
在这里插入图片描述
如果给定域不存在于哈希表中, 又或者给定的哈希表并不存在, 那么命令会返回 (nil)
在这里插入图片描述

HEXISTS

HEXISTS hash field
可用版本: >= 2.0.0
时间复杂度: O(1)

检查给定域field是否存在于哈希表hash当中。

演示

HEXISTS命令在给定域存在时返回 1。
在这里插入图片描述

HEXISTS命令在给定域不存在时返回 0。
在这里插入图片描述

HMSET

HMSET key field value [field value …]
可用版本:>= 2.0.0
时间复杂度:O(N), N 为 field-value 对的数量。

同时将多个域-值(field-value)对设置到哈希表key中。

演示

如果哈希表key不存在,一个空哈希表被创建并执行HMSET命令。
在这里插入图片描述
HMSET命令会覆盖哈希表中已存在的域。

在这里插入图片描述
key不是哈希表(hash)类型时,返回一个错误。
在这里插入图片描述

HMGET

HMGET key field [field …]
可用版本:>= 2.0.0
时间复杂度:O(N), N 为给定域的数量。

返回哈希表key中,一个或多个给定域的值。

演示

如果给定的域不存在于哈希表中,那么返回一个(nil)值,并且HMGET命令返回的值的排列顺序和给定域参数的请求顺序一样。
在这里插入图片描述
对不存在的哈希表key进行HMGET操作将返回一个只带有 (nil)值的表。
在这里插入图片描述

HKEYS

HKEYS key
可用版本:>= 2.0.0
时间复杂度:O(N), N 为哈希表的大小。

返回哈希表key中的所有域。

演示

当哈希表key不存在时,返回一个空表。
在这里插入图片描述
HKEYS命令返回一个包含哈希表中所有域的表。
在这里插入图片描述

HVALS

HVALS key
可用版本:>= 2.0.0
时间复杂度:O(N), N 为哈希表的大小。

返回哈希表key中所有域的值。

演示

当哈希表key不存在时,返回一个空表。
在这里插入图片描述
HVALS命令返回一个包含哈希表中所有值的表。
在这里插入图片描述

HGETALL

HGETALL key
可用版本:>= 2.0.0
时间复杂度:O(N), N 为哈希表的大小。

返回哈希表key中,所有的域和值。

演示

在返回值里,紧跟每个域(field)之后是域的值(value)。
在这里插入图片描述
若哈希表key不存在,返回空列表。
在这里插入图片描述

HDEL

HDEL key field [field …]
可用版本:>= 2.0.0
时间复杂度: O(N), N 为要删除的域的数量。

删除哈希表key中的一个或多个指定域,不存在的域将被忽略。

演示

HDEL命令会返回被成功移除的域的数量,不包括被忽略的域(如下图的key3域)。
在这里插入图片描述

Redis中哈希表的HSET、HSETNX、HGET、HEXISTS、HMSET、HMGET、HKEYS、HVALS、HGETALL、HDEL命令就介绍到这里。

写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ITKaven

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

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

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

打赏作者

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

抵扣说明:

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

余额充值