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命令就介绍到这里。
写博客是博主记录自己的学习过程,如果有错误,请指正,谢谢!
Redis:哈希表HSET、HSETNX、HGET、HEXISTS、HMSET、HMGET、HKEYS、HVALS、HGETALL、HDEL命令介绍相关推荐
- redis哈希表的rehash分析
女主宣言 大家都比较了解哈希表,以及类似php.redis等的内部hash实现.但是本文着力介绍redis中的rehash的实现,供大家参考学习. PS:丰富的一线技术.多元化的表现形式,尽在&quo ...
- Redis哈希表总结
本文及后续文章,Redis版本均是v3.2.8 在文章<Redis 数据结构之dict><Redis 数据结构之dict(2)>中,从代码层面做了简单理解.总感觉思路的不够条理 ...
- Redis:字符串SET、SETNX、SETEX、PSETEX、GET、GETSET命令介绍
SET SET key value [EX seconds] [PX milliseconds] [NX|XX] 可用版本: >= 1.0.0 时间复杂度: O(1) 将字符串值value关联到 ...
- redis命令之哈希表类型hset命令用法详情(返回值需要特别注意)
哈希表 HSET命令 可以同时设置多个field,有点类似mset(不同在于多个key,数据类型不同) 命令:hset key field value [field value] [field val ...
- c语言哈希表电子辞典_关于redis涉及的知识点,C语言如何操作redis
redis是什么? redis是一个由 Salvatore Sanfilippo 写的 key-value 存储系 统.Redis 是一个开源的使用 ANSI C 语言编写.遵守 BSD 协议.支持网 ...
- Redis 数据结构之哈希表
Redis 的字典底层使用哈希表实现,说到哈希表大家应该能联想到 HashMap 或者是 Hashtable,也应该能联想到 key.value 的存储形式,以及哈希表扩容,哈希算法等知识点.那么 R ...
- Redis:哈希表HLEN、HSTRLEN、HINCRBY、HINCRBYFLOAT、HSCAN命令介绍
HLEN HLEN key 时间复杂度:O(1) 返回哈希表key中域的数量. 演示 当哈希表key不存在时,返回 0. HSTRLEN HSTRLEN key field 可用版本:>= 3. ...
- Redis 哈希(Hash)
为什么80%的码农都做不了架构师?>>> Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 ha ...
- Redis学习---(8)Redis 哈希(Hash)
Redis 哈希(Hash) Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值 ...
- Redis 哈希结构内存模型剖析
2019独角兽企业重金招聘Python工程师标准>>> 本文共 1231字,阅读大约需要 5分钟 ! 概述 在前文<Redis字符串类型内部编码剖析>之中已经剖析过 Re ...
最新文章
- 猫眼娱乐2020年上半年交出最差答卷,下半年能满血复活吗?
- apache限制php上传大小修改
- java s结尾的工具类_FilenameUtils工具类
- C++矩阵库 Eigen 快速入门
- JAVA计算一年的第几天问题
- 在线SQL美化格式化工具
- 海量数据挖掘MMDS week4: 推荐系统之隐语义模型latent semantic analysis
- android模拟器参数设置,模拟器设置界面详解 - 新手引导 - 逍遥安卓论坛 - Powered by Discuz!...
- Ajax无刷新评论的PHP代码,PHP Ajax实现页面无刷新发表评论
- AI(Adobe illustrator)修改所有字体
- 用C语言能编程工控机吗,工控机、PLC、单片机的区别 工控机应用于哪些领域
- 【华录杯】深度学习吸烟打电话识别
- 网易微专业——Java Web开发工程师学习笔记(1):HTTP
- 通俗解释Docker是什么
- Flutter 报错:Could not resolve io.flutter:flutter_embedding_debug:1.0.0-ee76268252c22f5c11e82a7b87423c
- 小白用户的福音——win10系统云重装
- JDK1.9-缓冲流
- 【DX-BT24蓝牙模块-AT命令与手机透传教程】
- Java期末作品设计——赛事信息管理系统
- NodeMCU烧录AT固件过程