【Redis】Redis常用命令之Hash

1.hset:设置hash中指定的字段(field)的值(value)。

HSET key field value [field value ...]

时间复杂度:插⼊⼀组field为O(1),插⼊N组field为O(N)。
返回值:添加的字段的个数。
2.hget:获取hash中指定字段的值

HGET key field

时间复杂度:O(1),返回值:字段对应的值或者nil。
在这里插入图片描述
3.hexists:判断hash中是否有指定的字段

HEXISTS key field

时间复杂度:O(1),返回值:1表示存在,0表示不存在。
4.hdel:删除hash中指定的字段。

HDEL key field [field ...]

时间复杂度:删除⼀个元素为O(1),删除N个元素为O(N)。
返回值:本次操作删除的字段个数。
在这里插入图片描述
5.hkeys:获取hash中的所有字段。

HKEYS key

时间复杂度:O(N),N为field的个数,返回值:字段列表。
6.hvals:获取hash中的所有的值。

HVALS key

时间复杂度:O(N),N为field的个数。返回值:所有的值。
7.hgetall:获取hash中的所有字段以及对应的值。

HGETALL key

时间复杂度:O(N),N为field的个数,返回值:字段和对应的值。
在这里插入图片描述
8.hmget:⼀次获取hash中多个字段的值。

HMGET key field [field ...]

时间复杂度:只查询⼀个元素为O(1),查询多个元素为O(N),N为查询元素个数。返回值:字段对应的值或者nil。
9.获取hash中的所有字段的个数。

HLEN key

时间复杂度:O(1),返回值:字段个数。
在这里插入图片描述
10.hsetnx:在字段不存在的情况下,设置hash中的字段和值。

HSETNX key field value

时间复杂度:O(1),返回值:1表示设置成功,0表示失败。
在这里插入图片描述
11.hincrby:将hash中字段对应的数值添加指定的值。

HINCRBY key field increment
HINCRBYFLOAT key field increment   //hincrby的浮点数版本

时间复杂度:O(1),返回值:该字段变化之后的值。
在这里插入图片描述
注意:在使⽤hgetall时,如果哈希元素个数⽐较多,会存在阻塞Redis的可能。如果只需要获取部分field,可以使⽤hmget,如果⼀定要获取全部field,可以尝试使⽤hscan命令,该命令采⽤渐进式遍历哈希类型。
总结:

命令解释时间复杂度
hset key field value设置field的值是valueO(1)
hget key field获取field的value值O(1)
hdel key field [field…]删除fieldO(n),n是field的个数
hlen key计算field的个数O(1)
hgetall key获取所有的field-valueO(n),n是field的个数
hmget field [field …]批量获取field的valueO(n),n是field的个数
hmset field value [field value …]批量设置field-valueO(n),n是field的个数
hexists key field判断 field 是否存在O(1)
hkeys key获取所有的 fieldO(n),n是field的个数
hvals key获取所有的 valueO(n),n是field的个数
hsetnx key field value设置值,但必须在 field 不存在时才能设置成功O(1)
hincrby key field n对应 field-value +nO(1)
hincrbyfloat key field n对应 field-value +nO(1)
hstrlen key field计算 value 的字符串⻓度O(1)

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

爬虫逆向实战(35)-MyToken数据(MD5加盐)

一、数据接口分析 主页地址:MyToken 1、抓包 通过抓包可以发现数据接口是/ticker/currencyranklist 2、判断是否有加密参数 请求参数是否加密? 通过查看“载荷”模块可以发现有一个code参数 请求头是否加密? 无 响应是否加密&#xf…

GPT-4.5 Turbo:意外曝光且可能在六月份推出

国外网络媒体THE DECODER的联合创始人兼出版人Matthias认为,人工智能技术将彻底改变人类和计算机的互动方式。最新消息显示,OpenAI的最新力作GPT-4.5 Turbo已经在网络上意外曝光。首批发现此信息的是Bing和DuckDuck Go等搜索引擎,它们在官方发…

3/14/24数据结构、线性表

目录 数据结构 数据结构三要素 逻辑结构 存储结构 数据运算 时间复杂度 空间复杂度 线性表 线性表定义 静态分配 动态分配 线性表插入 线性表删除 十天的时间学完了C语言督学课程,最后终于是可以投入到408的科目学习当中。关于数据结构和算法的学习很多部…

LeetCode2115. 从给定原材料中找到所有可以做出的菜

拓扑排序 题面 题目链接:2115. 从给定原材料中找到所有可以做出的菜 - 力扣(LeetCode) 你有 n 道不同菜的信息。给你一个字符串数组 recipes 和一个二维字符串数组 ingredients 。第 i 道菜的名字为 recipes[i] ,如果你有它 所有…

基于raft的kvDB

0 CAP理论 0.1 指标 0.1.1 一致性(consistency) 客户端每次读操作,不管访问哪个节点,要么读到最新写入的数据,要么读取失败。一致性强调数据正确。 0.1.2 可用性(availability) 不管访问哪个非故障节点&#xff0…

基于uniapp的旅游景点入园预约系统 微信小程序0220o

技术要求: a) 操作系统:Windows、Linux等; b) 开发工具:Android Studio、pycharm等; c) 数据库:Oracle、MySQL等; d) 开发语言:python; e) 技术框架:采用MVC模…

【微服务-Nacos】Nacos集群的工作原理及集群间数据同步过程

上篇文章我们介绍了Nacos集群的搭建方法及步骤,下面我们来看一下Nacos集群的工作原理,一共有两部分:Leader节点选举及各节点数据同步。 1、Nacos集群中Leader节点是如何产生的 Nacos集群采用了Raft算法实现。它是一种比较简单的选举算法&am…

Xcode 15.3 Archive失败

Xcode 15.3 Archive失败 背景 升级 Xcode 到 15.3,真机运行正常。打包的时候发现 Archive 失败。 提示: Call parameter type does not match function signature! 仔细看报错里是和HandyJSON相关的提示。 解决 起初以为和 Pod 库有关系,…

C# 根据两点名称,寻找两短路程的最优解,【有数据库设计,完整代码】

前言 如果我们遇到路径问题,可以使用点点连线,给定一个点,可以到达另外几个点,寻找最优解 例:如下图所示,如果要从A1-C1,可以有三条路 1.A1-B1-C1 2.A1-B2-C1 3.A1-B3-C1 最优解肯定是A1-B1-C1&#xff0c…

linux环境基础开发工具1(vim 、 yum)

目录 前言 Linux编辑器-vim使用 Linux 软件包管理器 yum 前言 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码…

ARM 寄存器学习:(一)arm多种模式下得寄存器

ARM 处理器共有 7 种不同的处理器模式,在每一种处理器模式中可见的寄存器包括 15 个通用寄存器( R0~R14)、一个或两个(User和Sys不是异常模式,没有spsr寄存器)状态寄存器(cpsr和spsr)、程序计数器( PC )。 从上图可以看到&#xf…

组合逻辑电路(四)

目录 采用MSI的组合逻辑电路的分析与设计 采用MSI的组合逻辑电路的设计 用具有n个地址输入端的中规模集成器件实现n变量逻辑函数 用译码器设计组合逻辑电路 例 用数据选择器设计组合逻辑电路 例 用具有n个地址输入端的数据选择器实现m变量逻辑函数(m>n&#…