Redis基本数据类型哈希Hash常用操作命令
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Redis基本数据类型哈希Hash常用操作命令》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
Redis数据类型Hash常用操作
redis里的hash是一个string类型的field(字段)和value(值)的映射表。特别适合用于存储对象,每个hash可以存储40多亿键值对。
熟悉python的童鞋可以想象成字典dict。之前的数据类型存储都是k-v这样,而hash的存储就是k-dict
,dict
里又会有属于自己的k-v
。
一、hset
为哈希表中的字段赋值,如果哈希表不存在,创建一个新的哈希表被并进行hset操作。
如果字段已经存在于哈希表中,旧值将被覆盖。
hset myhash k1 v1
二、hget
返回哈希表中指定字段的值,如果给定的字段或 key 不存在时,返回 nil。
hget myhash k1
三、hmset
同时将多个 field-value 对设置到哈希表中。
hmset myhash k2 v2 k3 v3
如果哈希表中已存在的字段,则覆盖。
如果哈希表不存在,会创建一个空哈希表,并执行hset操作。
四、hmget
返回哈希表中,一个或多个给定字段的值。
hmget myhash k1 k2 k3 k4
如果指定的字段不存在于哈希表,那么返回一个nil值。
五、hgetall
返回哈希表中,所有的字段和值。
hgetall myhash
注意,在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。
六、hdel
删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。
hdel myhash k2 k3 k5
返回的是被成功删除字段的数量,不包括被忽略的字段。
七、hlen
获取哈希表中字段的数量。
hlen myhash
八、hexists
查看哈希表的指定字段是否存在。
hexists myhash k1
如果哈希表含有给定字段,返回 1。
如果哈希表不含有给定字段,或 key 不存在,返回 0 。
九、hkeys
获取哈希表中的所有字段(field)。
hkeys myhash
包含哈希表中所有字段(field)列表。 当 key 不存在时,返回一个空列表。
十、hvals
返回哈希表所有字段(field)的值。
hvals myhash
返回一个包含哈希表中所有字段(field)值的列表。 当 key 不存在时,返回一个空表。
十一、hincrby
为哈希表中的字段值加上指定增量值,这个增量也可以是负数,相当于减法。
若哈希表的 key 不存在,创建一个新的哈希表被并执行hincrby
命令。
若指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
若对储存字符串值的字段执行,会报错。
十二、hsetnx
为哈希表中不存在的的字段赋值。
若哈希表不存在,创建新的哈希表并进行 hset 操作。
如果字段已经存在于哈希表中,操作无效。
如果key不存在,创建新哈希表并执行hsetnx
命令。
关于redis中hash的应用,比如保存用户信息数据、经常变动的信息,如果不想使用传统的k-v对象去存储,可以用redis的hash。
今天关于《Redis基本数据类型哈希Hash常用操作命令》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于redis的内容请关注golang学习网公众号!

- 上一篇
- Redis基本数据类型Set常用操作命令

- 下一篇
- Redis特殊数据类型Geospatial地理空间
-
- 风中的画笔
- 受益颇多,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢老哥分享文章内容!
- 2023-01-14 18:53:29
-
- 土豪的饼干
- 这篇技术文章真及时,太详细了,写的不错,mark,关注作者了!希望作者能多写数据库相关的文章。
- 2023-01-11 17:44:47
-
- 细心的红酒
- 感谢大佬分享,一直没懂这个问题,但其实工作中常常有遇到...不过今天到这,帮助很大,总算是懂了,感谢博主分享文章!
- 2022-12-31 06:47:20
-
- 震动的山水
- 这篇技术文章真是及时雨啊,作者加油!
- 2022-12-31 01:50:15
-
- 悲凉的眼神
- 这篇文章出现的刚刚好,很详细,很棒,码起来,关注作者了!希望作者能多写数据库相关的文章。
- 2022-12-30 18:12:14
-
- 会撒娇的热狗
- 这篇文章内容真是及时雨啊,太细致了,受益颇多,mark,关注师傅了!希望师傅能多写数据库相关的文章。
- 2022-12-30 14:48:19
-
- 细腻的棒棒糖
- 太全面了,码住,感谢大佬的这篇文章内容,我会继续支持!
- 2022-12-30 09:42:03
-
- 数据库 · Redis | 1小时前 |
- Redis与MongoDB缓存优化方法
- 193浏览 收藏
-
- 数据库 · Redis | 6小时前 |
- Redis安全配置更新操作教程
- 313浏览 收藏
-
- 数据库 · Redis | 17小时前 |
- Redis单节点迁移到集群的步骤详解
- 362浏览 收藏
-
- 数据库 · Redis | 18小时前 |
- Redis原子操作实现方式及使用场景
- 300浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis性能优化配置全攻略
- 173浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis性能问题分析及常见原因解析
- 234浏览 收藏
-
- 数据库 · Redis | 1天前 |
- 高并发Redis优化技巧分享
- 227浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis带宽瓶颈检测与优化方法
- 464浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis有序集合实现高效排行榜玩法
- 460浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis安全配置更新操作教程
- 146浏览 收藏
-
- 数据库 · Redis | 1天前 |
- 监控Redis集群健康的必备工具与指标
- 324浏览 收藏
-
- 数据库 · Redis | 1天前 |
- Redis带宽瓶颈检测与优化方法
- 337浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 511次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 498次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 484次学习
-
- 千音漫语
- 千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
- 94次使用
-
- MiniWork
- MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
- 89次使用
-
- NoCode
- NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
- 104次使用
-
- 达医智影
- 达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
- 98次使用
-
- 智慧芽Eureka
- 智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
- 95次使用
-
- Go语言中调用外部命令的方法总结
- 2022-12-22 224浏览
-
- 基于Go语言实现类似tree命令的小程序
- 2023-01-01 161浏览
-
- Redis的各项功能解决了哪些问题?
- 2023-02-18 185浏览
-
- Go语言基础go doc命令用法及示例详解
- 2022-12-29 436浏览
-
- Go语言基础go fmt命令使用示例详解
- 2023-01-01 492浏览