Redis命令---Hash(哈希)篇 (超全)
目录
- 1.Redis Hmset 命令 - 同时将多个 field-value (域-值)对设置到哈希表 key 中。
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 如果命令执行成功,返回 OK 。
- 示例
- 2.Redis Hmget 命令 - 获取所有给定字段的值
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样。
- 示例
- 3.Redis Hset 命令 - 将哈希表 key 中的字段 field 的值设为 value 。
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。
- 示例
- 4.Redis Hgetall 命令 - 获取在哈希表中指定 key 的所有字段和值
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。
- 示例
- 5.Redis Hget 命令 - 获取存储在哈希表中指定字段的值/td>
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 返回给定字段的值。如果给定的字段或 key 不存在时,返回 nil 。
- 示例
- 6.Redis Hexists 命令 - 查看哈希表 key 中,指定的字段是否存在。
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。
- 示例
- 7.Redis Hincrby 命令 - 为哈希表 key 中的指定字段的整数值加上增量 increment 。
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 执行 HINCRBY 命令之后,哈希表中字段的值。
- 示例
- 8.Redis Hlen 命令 - 获取哈希表中字段的数量
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 哈希表中字段的数量。 当 key 不存在时,返回 0 。
- 示例
- 9.Redis Hdel 命令 - 删除一个或多个哈希表字段
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 被成功删除字段的数量,不包括被忽略的字段。
- 示例
- 10.Redis Hvals 命令 - 获取哈希表中所有值
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 一个包含哈希表中所有值的表。 当 key 不存在时,返回一个空表。
- 示例
- 11.Redis Hincrbyfloat 命令 - 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
- 简介
- 语法
- 可用版本: >= 2.6.0
- 返回值: 执行 Hincrbyfloat 命令之后,哈希表中字段的值。
- 示例
- 12.Redis Hkeys 命令 - 获取所有哈希表中的字段
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 包含哈希表中所有字段的列表。 当 key 不存在时,返回一个空列表。
- 示例
- 13.Redis Hsetnx 命令 - 只有在字段 field 不存在时,设置哈希表字段的值。
- 简介
- 语法
- 可用版本: >= 2.0.0
- 返回值: 设置成功,返回 1 。 如果给定字段已经存在且没有操作被执行,返回 0 。
- 示例
- 总结
1.Redis Hmset 命令 - 同时将多个 field-value (域-值)对设置到哈希表 key 中。
简介
如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。此命令会覆盖哈希表中已存在的字段。Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
可用版本: >= 2.0.0
返回值: 如果命令执行成功,返回 OK 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo" field2 "bar"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"
redis 127.0.0.1:6379> HMGET myhash field2
"bar"
2.Redis Hmget 命令 - 获取所有给定字段的值
简介
如果指定的字段不存在于哈希表,那么返回一个 nil 值。Redis Hmget 命令用于返回哈希表中,一个或多个给定字段的值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HMGET KEY_NAME FIELD1...FIELDN
可用版本: >= 2.0.0
返回值: 一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HMGET myhash field1 field2 nofield
1) "foo"
2) "bar"
3) (nil)
3.Redis Hset 命令 - 将哈希表 key 中的字段 field 的值设为 value 。
简介
如果字段已经存在于哈希表中,旧值将被覆盖。如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。Redis Hset 命令用于为哈希表中的字段赋值 。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
OK
redis 127.0.0.1:6379> HGET myhash field1
"foo"redis 127.0.0.1:6379> HSET website google "www.g.cn" # 设置一个新域
(integer) 1redis 127.0.0.1:6379>HSET website google "www.google.com" # 覆盖一个旧域
(integer) 0
4.Redis Hgetall 命令 - 获取在哈希表中指定 key 的所有字段和值
简介
在返回值里,紧跟每个字段名(field name)之后是字段的值(value),所以返回值的长度是哈希表大小的两倍。Redis Hgetall 命令用于返回哈希表中,所有的字段和值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HGETALL KEY_NAME
可用版本: >= 2.0.0
返回值: 以列表形式返回哈希表的字段及字段值。 若 key 不存在,返回空列表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HGETALL myhash
1) "field1"
2) "Hello"
3) "field2"
4) "World"
5.Redis Hget 命令 - 获取存储在哈希表中指定字段的值/td>
简介
Redis Hget 命令用于返回哈希表中指定字段的值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HGET KEY_NAME FIELD_NAME
可用版本: >= 2.0.0
返回值: 返回给定字段的值。如果给定的字段或 key 不存在时,返回 nil 。
示例
# 字段存在redis> HSET site redis redis.com
(integer) 1redis> HGET site redis
"redis.com"# 字段不存在redis> HGET site mysql
(nil)
6.Redis Hexists 命令 - 查看哈希表 key 中,指定的字段是否存在。
简介
Redis Hexists 命令用于查看哈希表的指定字段是否存在。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HEXISTS KEY_NAME FIELD_NAME
可用版本: >= 2.0.0
返回值: 如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field1
(integer) 1
redis 127.0.0.1:6379> HEXISTS myhash field2
(integer) 0
7.Redis Hincrby 命令 - 为哈希表 key 中的指定字段的整数值加上增量 increment 。
简介
本操作的值被限制在 64 位(bit)有符号数字表示之内。对一个储存字符串值的字段执行 HINCRBY 命令将造成一个错误。如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。如果哈希表的 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。增量也可以为负数,相当于对指定字段进行减法操作。Redis Hincrby 命令用于为哈希表中的字段值加上指定增量值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.0.0
返回值: 执行 HINCRBY 命令之后,哈希表中字段的值。
示例
redis 127.0.0.1:6379> HSET myhash field1 20
(integer) 1
redis 127.0.0.1:6379> HINCRBY myhash field 1
(integer) 21
redis 127.0.0.1:6379> HINCRBY myhash field -1
(integer) 20
8.Redis Hlen 命令 - 获取哈希表中字段的数量
简介
Redis Hlen 命令用于获取哈希表中字段的数量。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HLEN KEY_NAME
可用版本: >= 2.0.0
返回值: 哈希表中字段的数量。 当 key 不存在时,返回 0 。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HLEN myhash
(integer) 2
9.Redis Hdel 命令 - 删除一个或多个哈希表字段
简介
Redis Hdel 命令用于删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN
可用版本: >= 2.0.0
返回值: 被成功删除字段的数量,不包括被忽略的字段。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field1
(integer) 1
redis 127.0.0.1:6379> HDEL myhash field2
(integer) 0
10.Redis Hvals 命令 - 获取哈希表中所有值
简介
Redis Hvals 命令返回哈希表所有字段的值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HVALS KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 一个包含哈希表中所有值的表。 当 key 不存在时,返回一个空表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HVALS myhash
1) "foo"
2) "bar"# 空哈希表/不存在的keyredis 127.0.0.1:6379> EXISTS not_exists
(integer) 0redis 127.0.0.1:6379> HVALS not_exists
(empty list or set)
11.Redis Hincrbyfloat 命令 - 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
简介
如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。Redis Hincrbyfloat 命令用于为哈希表中的字段值加上指定浮点数增量值。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.6.0
返回值: 执行 Hincrbyfloat 命令之后,哈希表中字段的值。
示例
redis 127.0.0.1:6379> HSET myhash field 20.50
(integer) 1
redis 127.0.0.1:6379> HINCRBYFLOAT mykey field 0.1
"20.60"
12.Redis Hkeys 命令 - 获取所有哈希表中的字段
简介
Redis Hkeys 命令用于获取哈希表中的所有字段名。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HKEYS KEY_NAME FIELD_NAME INCR_BY_NUMBER
可用版本: >= 2.0.0
返回值: 包含哈希表中所有字段的列表。 当 key 不存在时,返回一个空列表。
示例
redis 127.0.0.1:6379> HSET myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSET myhash field2 "bar"
(integer) 1
redis 127.0.0.1:6379> HKEYS myhash
1) "field1"
2) "field2"
13.Redis Hsetnx 命令 - 只有在字段 field 不存在时,设置哈希表字段的值。
简介
如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。如果字段已经存在于哈希表中,操作无效。如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。Redis Hsetnx 命令用于为哈希表中不存在的的字段赋值 。Redis 哈希(Hash)
语法
redis 127.0.0.1:6379> HSETNX KEY_NAME FIELD VALUE
可用版本: >= 2.0.0
返回值: 设置成功,返回 1 。 如果给定字段已经存在且没有操作被执行,返回 0 。
示例
redis 127.0.0.1:6379> HSETNX myhash field1 "foo"
(integer) 1
redis 127.0.0.1:6379> HSETNX myhash field1 "bar"
(integer) 0
redis 127.0.0.1:6379> HGET myhash field1
"foo"redis 127.0.0.1:6379> HSETNX nosql key-value-store redis
(integer) 1redis 127.0.0.1:6379> HSETNX nosql key-value-store redis # 操作无效, key-value-store 已存在
(integer) 0
总结

往期回顾
Redis命令—String篇 (超全)
Redis命令—key篇 (超全)
相关文章:
Redis命令---Hash(哈希)篇 (超全)
目录 1.Redis Hmset 命令 - 同时将多个 field-value (域-值)对设置到哈希表 key 中。简介语法可用版本: > 2.0.0返回值: 如果命令执行成功,返回 OK 。 示例 2.Redis Hmget 命令 - 获取所有给定字段的值简介语法可用版本: > 2.0.0返回值: 一个包含多个给定字段…...
Objects are not valid as a React child (found: object with keys {name}).
在jsx中可以嵌套表达式,将表达式作为内容的一部分,但是要注意,普通对象不能作为子元素;但是数组,react元素对象是可以的 如下:不能将stu这个对象作为子元素放 function App() {const myCal imgStyleconst…...
nodejs业务分层如何写后端接口
这里展示的是在node express 项目中的操作 ,数据库使用的是MongoDB,前期关于express和MongoDB的文章可访问: Nodejs后端express框架 server后端接口操作:通过路由匹配——>调用对应的 Controller——>进行 Service调用——&…...
Windows 7 虚拟机的安装以及解决安装VMVMware tools问题
1.Windows 7 虚拟机的安装以及解决安装VMVMware tools问题 参考:Windows 7 虚拟机的安装以及解决安装VMVMware tools问题 注意:下载官方补丁:Microsoft Update Catalog在智慧联想浏览器中打不开,要在火狐中才能打开下载。 2.win7如…...
[足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器
本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记-自动控制原理Ch1-9PID控制器) P —— Proportional I —— Integral D —— Derivative 当前误差/过去误差/误差的变化趋势 K p ⋅ e K_{\mathrm{p}}\cdot e Kp⋅e:比…...
SSM养老院综合服务系统----计算机毕业设计
项目介绍 该项目为后台管理项目,分为管理员与护工两种角色; 管理员角色包含以下功能: 管理员登录,个人资料密码管理,用户管理,床位类型管理,床位管理,护工管理,老人管理,咨询登记管理,预约登记管理,老人健康信息管理,费用管理等功能。 护…...
广州求职招聘(找工作)去哪里找比较好
在广州找工作,可以选择“吉鹿力招聘网”这个平台。它是一个号称直接和boss聊的互联网招聘神器,同时,“吉鹿力招聘网”作岗位比较齐全,企业用户也多,比较全面。在“吉鹿力招聘网”历即可投递岗位。 广州找工作上 吉鹿力…...
ARM NEON 指令
NEON指令 按照操作数类型可以分为正常指令、宽指令、窄指令、饱和指令、长指令。 正常指令:生成大小相同且类型通常与操作数向量相同到结果向量。长指令:对双字向量操作数执行运算,生产四字向量到结果。所生成的元素一般是操作数元素宽度到…...
Open3D 最小二乘拟合平面——拉格朗日乘子法
目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接Open3D 最小二乘拟合平面——拉格朗日乘子法。爬虫自重。 一、算法原理 设拟合出的平面方程为: a x + b y +...
Rockchip平台Android应用预安装功能(基于Android13)
Rockchip平台Android应用预安装功能(基于Android13) 1. 预安装应用类型 Android上的应用预安装功能,主要是指配置产品时,根据厂商要求,将事先准备好的第三方应用预置进Android系统。预安装分为以下几种类型: 安装不可卸载应用安…...
vue项目表单使用正则过滤ip、手机号
import useFormValidate from /hooks/useFormValidatesetup(props, { emit }) {const { validateName, validateIPAndPort } useFormValidate()const state reactive({workFaceInfo: props.info?.id ? props.info : {},sysTypeData: props.sysType,formRules: {name: [{req…...
vscode编译调试sln工程
使用msvc工具链 vscode配置调用visual studio的编译和调试环境_vscode用vs-CSDN博客 将vscode打造无敌的IDE(14) tasks.json和launch.json配置详解,随心所欲添加自动化任务_tasks.json详解-CSDN博客 通过命令行使用 Microsoft C 工具集 | Microsoft Learn 编译…...
Android 车联网——CarManager管理器(四)
上篇文章介绍了CarPropertyService 的使用,这一篇我们来看一下 Android Automotive OS 中一些子模块如何使用 CarPropertyManager。 一、管理器调用 ICarImpl 源码位置:/packages/services/Car/service/src/com/android/car/ICarImpl.java @Override public IBinder getC…...
C# OpenCvSharp读取rtsp流录制mp4可分段保存
软件界面: 测试环境: VS2019 .NET Framework 4.7.2 OpencvSharp4.8.0 输入RTSP流地址即可拉取RTSP流,支持抓拍和录制RTSP流视频,且支持支持按固定时间保存,比如我想5分钟保存一个视频,设置保存间隔为30…...
Maven的心脏:深入解析settings.xml配置文件
Maven作为Java世界中最著名的构建工具之一,其灵魂所在无疑是那些配置文件。在这些配置文件中,settings.xml扮演着至关重要的角色。今天,我们就来深入剖析这个Maven的心脏部件,看看它如何为我们的项目搏动生命。 一、Maven settin…...
uni静态资源引入及css图片图标引用规范
1、页面组件引入 单页面中的组件引入需经过导入——注册——使用三个步骤; <template><view><!-- 3.使用组件 --><uni-rate text"1"></uni-rate></view> </template> <script>// 1. 导入组件import un…...
API 开放平台项目(已整理,已废弃)
项目大纲 前端 React 18Ant Design Pro 5.x 脚手架Ant Design & Procomponents 组件库Umi 4 前端框架OpenAPI 前端代码生成 后端 Java Spring BootMySQL 数据库MyBatis-Plus 及 MyBatis X 自动生成API 签名认证(Http 调用)Spring Boot Starter&#…...
魔棒无人直播系统有哪些优势?
随着科技的发展,越来越多新鲜事物的出现,它们代替了我们做很多的事情,开始解放着自己的双手,其中,无人直播的出现,就让直播变得更加简单。 因为是无人直播,所以全程不需要真人出镜,…...
[Flutter]WindowsOS中相关配置
Flutter项目在Windows平台上如何配置 目录 Flutter项目在Windows平台上如何配置 写在开头 正文 1、OS准备 2、编译环境准备 ① 下载AndroidStudio ② 下载dart ③ 下载flutter ④ 下载并安装VS ⑤ 在AS中配置dart和flutter 3、配置中遇到的问题 写在结尾 写在开头…...
[C语言]时间戳
时间戳的概念 时间戳就是定义一个时间点作为0秒, 之后每过一秒依此加一, 将当前的时间戳换算成年月日, 再加上起点, 获得的就是现在时刻的时间. 根据地球时区的偏移, 比如北京时间是东八区, 做一个偏移量的加减. 0起点: 1900年1月1日0时0分0秒. 0偏移地点: 英国伦敦 时间戳…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
