Redis命令 - Hashes命令组常用命令

news2025/4/24 4:06:17

1、HSET key field value

设置 key 指定的哈希集中指定字段的值。

HSET key field value
返回值:1代表field是一个新的字段。0代表field已存在

  • 如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。
  • 如果字段在哈希集中存在,它将被重写。

创建一个type为hash类型的key叫myhash,其指定的哈希集中有两个字段username和password,值分别是zhangsan、123456

hset myhash username “zhangsan”
hset myhash password “123456”

在这里插入图片描述
在这里插入图片描述

2、HMSET key field value [field value…]

接着向myhash的哈希集中再添加两个字段:age和sex

HMSET myhash age 18 sex male

在这里插入图片描述
在这里插入图片描述

3、HSETNX key field value

只在 key 指定的哈希集中不存在指定的字段时,设置字段的值。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段已存在,该操作无效果。
含义如下
返回值:

1:如果字段是个新的字段,并成功赋值
0:如果哈希集中已存在该字段,没有操作被执行

已存在username字段,因此设置值将不会生效,返回值为0。username的值还是zhangsan

hsetnx myhash username “lisi”

在这里插入图片描述

不存在address字段,因此可以成功设置值,返回值为1。

hsetnx myhash address “china”

在这里插入图片描述

4、HGET key field

查询key指定的哈希集中该字段所关联的值。例如:
1、 获取myhash中的username字段的值,该字段是存在的,返回值即zhangsan

hget myhash username

在这里插入图片描述

2、获取myhash中,phone字段的值,该字段不存在,返回值是null

hget myhash phone

在这里插入图片描述

5、HGETALL key

获取key指定的哈希集中的所有字段和值。返回值中,每个字段名的下一个是它的值,所以返回值的长度是哈希集大小的两倍

hgetall myhash

在这里插入图片描述

6、HMGET key field [field …]

获取key指定的哈希集中的指定字段的值。

示例:查看myhash中username和password的值

hmget myhash username password

在这里插入图片描述

7、HKEYS key

获取key指定的哈希集中的所有字段名
1、当key指定的哈希集存在时,返回字段名列表。

hkeys myhash

在这里插入图片描述

2、当key指定的哈希集不存在时返回空列表。

hkeys myhash1

在这里插入图片描述

8、HEXISTS key field

哈希集里的field是否存在

1、哈希集里存在该field,返回值为1

hexists myhash username

2、哈希集里不存在该field,返回值为0

hexists myhash username1

在这里插入图片描述

9、HLEN key

获取 key 指定的哈希集包含的字段的数量
当key指定的哈希集存在:返回哈希集中字段的数量
当key指定的哈希集不存在:返回 0
在这里插入图片描述

10、HSTRLEN key field

如果hash或者field存在:返回hash指定field的value的字符串长度。zhangsan长度是8
如果hash或者field不存在:返回0.
> hstrlen myhash username

11、HINCRBY key field increment

increment可正可负。

  • 如果 key 不存在,会创建一个新的哈希集并与 key 关联。
  • 如果 key 存在且该字段存在:只要字段值是数字或者纯数字的字符串,就可以被增加指定的值。否则报错。
  • 如果 key 存在但是该字段不存在:则字段的值在该操作执行前被设置为 0
    注:HINCRBY 支持的值的范围限定在 64位 有符号整数

age是18,增加10之后是28。
在这里插入图片描述

12、HINCRBYFLOAT key field increment

increment是float类型

hincrbyfloat myhash age 10.5

在这里插入图片描述

13、HDEL key field [field…]

从 key 指定的哈希集中移除指定的字段。在哈希集中不存在的字段将被忽略。
如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,将会报错
示例:address字段存在,因此返回1,address1字段不存在,因此被忽略了。
在这里插入图片描述

14、用strings还是hash?

例如一张表信息如下

idusernamepasswordage
1zhangsan“123456”18

14.1 用Strings-JSON

redis中的strings该怎么存储?怎么方便去获取?

set user:1 “{“id”:1, “username”: “zhangsan”, “password”:“123456”, “age”:18}”

在这里插入图片描述在这里插入图片描述
获取user:1的值
在这里插入图片描述

14.2 用hash

hset user:2 id 1 username “zhangsan” password “123456” age 18

在这里插入图片描述
hash,相当于把表的行和列旋转了90度。
在这里插入图片描述
获取值:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382425.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【算法】最佳牛围栏(二分,前缀和,双指针)

题目 农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不会少于 1 头,也不会超过 2000 头。 约翰希望用围栏将一部分连续的田地围起来,并使得围起来的区域内每块地包含的牛的数量的平均值达到最大。 围起区域内…

9. 乐观锁

当程序中出现并发访问时,就需要保证数据的一致性。以商品系统为例,现在有两个管理员均想对同一件售价为 100 元的商品进行修改,A 管理员正准备将商品售价改为 150 元,但此时出现了网络问题,导致 A 管理员的操作陷入了等…

大括号内两行公式中,如何左对齐公式的条件

1. 先建立一个大括号,中间设置一个二维矩阵如下: 2. 选中整个矩阵,不要选外面的括号,进行如下操作 3. 选择左侧对齐 即可。

浅析Linux进程地址空间

前言 现代处理器基本都支持虚拟内存管理,在开启虚存管理时,程序只能访问到虚拟地址,处理器的内存管理单元(MMU)会自动完成虚拟地址到物理地址的转换。基于虚拟内存机制,操作系统可以为每个运行中的进程创建…

YOLOv8原理与源码解析

课程链接:https://edu.csdn.net/course/detail/39251 【为什么要学习这门课】 Linux创始人Linus Torvalds有一句名言:Talk is cheap. Show me the code. 冗谈不够,放码过来!代码阅读是从基础到提高的必由之路。 YOLOv8 基于先前…

linux多进程基础(3):waitpid()函数

前文已经讲解了wait函数,这一篇要讲的是waitpid()函数. waitpid()函数与wait()函数目的一致:回收子进程资源,但它比 wait() 更灵活,其可以指定要等待的子进程的 PID(进程ID),并且可以设置函数是阻塞还是非阻塞的,当设置为非阻塞的,主函数将不再等待子函…

Dobbo---分布式系统通信方式

通信方式 分布式系统通信方式1. RMIRMI 通信实现案例2. RPC常用RPC框架 分布式系统通信方式 1. RMI RMI ( Remote Method Invocation 远程方法调用) 图1.1 客户端-服务端通信方式 客户端将要调用的方法及参数,打包为辅助对象,通过网络socket&#xff…

【CAN】CANoe添加模拟节点报错解决方法

文章目录 1. 问题现象2. 问题解决方法 >>返回总目录<< 1. 问题现象 通过CANoe添加模拟节点时&#xff0c;提示无法加载动态链接库CANOEILNLSPA.DLL。 2. 问题解决方法 右键模拟节点&#xff0c;选择Configuration选项&#xff0c;弹出Node Configuration界面&am…

Vue.observable详解(细到原码)

文章目录 一、Observable 是什么二、使用场景三、原理分析参考文献 一、Observable 是什么 Observable 翻译过来我们可以理解成可观察的 我们先来看一下其在Vue中的定义 Vue.observable&#xff0c;让一个对象变成响应式数据。Vue 内部会用它来处理 data 函数返回的对象 返回…

JS数组函数 reduce() 的用法—包含基础、进阶、高阶用法

目录 一、语法剖析 二、实例讲解 1. 求数组项之和 2. 求数组项最大值 3. 数组去重 三、其他相关方法 1. reduceRight() 2. forEach()、map()、every()、some()和filter() 四、重点总结 先看w3c语法 ✔ 常见用法 数组求和 数组最大值 ✔ 进阶用法 数组对象中的用…

【Maven】007-Maven 工程的继承和聚合关系

【Maven】007-Maven 工程的继承和聚合关系 文章目录 【Maven】007-Maven 工程的继承和聚合关系一、Maven 工程的继承关系1、继承的概念2、继承的作用3、继承的语法4、父工程统一管理依赖版本父工程声明依赖版本子工程继承以来版本 二、Maven 工程的聚合关系1、聚合的概念2、聚合…

exec函数簇和守护进程

目录 一、exec函数族 二、守护进程 三、GDB调试多进程程序 一、exec函数族 exec函数使得进程当前内容被指定的程序替换。 示例&#xff1a; 运行结果&#xff1a; 代码就相当于执行命令&#xff1a;ls -a -l ./ 二、守护进程 举例&#xff1a; 运行结果&#xff1a; 举例…

计算机网络——第三层:网络层

1. IP数据报 1.1 IPV4数据报 1.1.1 IPv4数据报的结构 如图按照RFC 791规范显示了一个IPv4数据包头部的不同字段 IPv4头部通常包括以下部分&#xff1a; 1.1.1.1 版本&#xff08;Version&#xff09; 指明了IP协议的版本&#xff0c;IPv4表示为4。 1.1.1.2 头部长度&#x…

AR HUD全面「上新」

AR HUD赛道正在迎来新的时代。 上周&#xff0c;蔚来ET9正式发布亮相&#xff0c;新车定位为D级行政旗舰轿车&#xff0c;其中&#xff0c;在智能座舱交互层面&#xff0c;继理想L系列、长安深蓝S7之后&#xff0c;也首次取消仪表盘&#xff0c;取而代之的是业内首个全焦段AR H…

S1-07 事件组

事件组 在 FreeRTOS 中&#xff0c;事件组&#xff08;Event Group&#xff09;是一种用于任务间通信的机制&#xff0c;用于在多个任务之间同步和传递事件。 事件组主要包含一下两个概念&#xff1a; 事件标志位&#xff08;Event Flags&#xff09;&#xff1a;每个事件标志…

【CAN】Hardware Object的配置规则

文章目录 1. 前言2 发送缓存区的配置3 接收缓存区的配置4 Hardware Object的配置顺序 >>返回总目录<< 1. 前言 在英飞凌的芯片中&#xff0c;MCAN模块有一块Message RAM&#xff0c;这块空间主要用来划分过滤空间、接收数据空间以及发送数据空间&#xff0c;至于…

Grind75第9天 | 733.图像渲染、542.01矩阵、1235.规划兼职工作

733.图像渲染 题目链接&#xff1a;https://leetcode.com/problems/flood-fill 解法&#xff1a; 可以用深度优先搜索和广度优先搜索。 深度优先搜索。每次搜索到一个方格时&#xff0c;如果其与初始位置的方格颜色相同&#xff0c;就将该方格的染色&#xff0c;然后继续对…

Ps:何时需要转换为智能对象

智能对象 Smart Objects提供了广泛的灵活性和控制能力&#xff0c;特别是在处理复杂的合成、重复元素或需要非破坏性编辑的项目中。 ◆ ◆ ◆ 何时需要转换为智能对象 1、当需要对图像进行缩放、旋转等变换时。 涉及到的 Photoshop 命令包括&#xff1a;变换、自由变换、操控…

【CAN】Mailbox/Hardware Object/HRH/HTH概念介绍

文章目录 1. 前言2. MCMCAN硬件RAM缓存区2.1 RAM缓存区分配2.2 发送缓存区2.3 接收缓存区 3. MailBox&#xff0c;HWObject&#xff0c;HRH&#xff0c;HTH概念1. MailBox2. HWObject3. HRH4. HTH5. 对应关系 >>返回总目录<< 1. 前言 Aurix TC3xx系列MCU中的MCMC…

小米数据恢复软件:如何从小米手机恢复已删除的数据

“买一部小米手机&#xff0c;送一个移动硬盘”。人们惊叹于小米手机以非常合理的价格提供的大容量。我们甚至可以把小米手机当做一个移动硬盘来使用&#xff0c;存储大量的照片、视频、文档等文件。但是&#xff0c;在我们使用手机的过程中&#xff0c;误删的情况时有发生&…