当前位置: 首页 > news >正文

Redis中hash类型的操作命令(命令的语法、返回值、时间复杂度、注意事项、操作演示)

文章目录

  • 字符串和哈希类型相比
  • hset 命令
  • hget 命令
  • hexists
  • hdel
  • hkeys
  • hvals
  • hgetall
  • hmget
  • hlen
  • hsetnx
  • hincrby
  • hincrbyfloat

字符串和哈希类型相比

假设有以下一种场景:现在要在 Redis 中存储一个用户的基本信息(id=1、name=zhangsan、age=17),下图表示使用字符串类型进行存储和使用哈希类型进行存储的区别:

在这里插入图片描述

注意:在 Redis 中,“键” 称为 key,“值” 称为 value,如果value 的类型是哈希类型,则 “键” 称为 field,“值” 称为 value

在这里插入图片描述

hset 命令

设置 hash 中指定 “键”(field) 的值

语法:hset key field value [field value……]

返回值:添加的 field-value 的个数

时间复杂度:O(k),因为插入时,可以插入多个,所以,k 表示插入的键值对(field-value) 的个数

操作演示:

在这里插入图片描述

hget 命令

获取 hash 中指定 “键”(field) 的值

语法:hget key field

返回值:指定键(field)的值

时间复杂度:O(1)

操作演示:

在这里插入图片描述

hexists

判断 hash 中是否存在指定的 field

语法:hexists key field

返回值:1 表示存在,0 表示不存在

时间复杂度:O(1)

操作演示:

在这里插入图片描述

hdel

删除 hash 中指定的键(field)

语法:hdel key filed [filed……]

返回值:成功删除field的个数

时间复杂度:O(k),k 表示删除的键值对(field-value) 的个数

操作演示:

在这里插入图片描述

hkeys

获取哈希中所有的 field

语法:hkeys key

返回值:所有的键(field)

时间复杂度:O(N)

操作演示:

在这里插入图片描述

注意:这个操作要慎重使用,因为,如果field非常多话,那么就可能会造成 Redis 服务器阻塞

hvals

获取哈希中所有键(field)的值

语法:hvals key

返回值:所有的字段的值

时间复杂度:O(N),N表示field个数

操作演示:

在这里插入图片描述

注意:这个操作要慎重使用,因为,如果field非常多话,那么就可能会造成 Redis 服务器阻塞

hgetall

获取 hash 中所有的字段(field)及其对应的值

语法:hgetall key

返回值:所有的字段及其值

时间复杂度:O(N)

操作演示:

在这里插入图片描述

注意:返回值是一个字段一个值相对着,同时呢,这也是个危险的操作,如果字段特别多的情况下,就可能使 Redis 阻塞

hmget

一次获取 hash 中多个字段(field)的值

语法:hmget key field [field……]

返回值:指定字段的值

时间复杂度:O(k),k为指定的字段的数量

操作演示:

在这里插入图片描述

hlen

获取哈希中字(field)段的个数

语法:hlen key

返回值:字段的个数

时间复杂度:O(1),这里的个数不需要遍历计算,在内部有一个变量存储了元素个数

操作演示:

在这里插入图片描述

hsetnx

在字段不存在的情况下,设置字段和值

语法:hsetnx key field value

返回值:0 表示设置失败,1 表示设置成功

时间复杂度:O(1)

操作演示:

在这里插入图片描述

hincrby

将 hash 中字段(field)对应的值添加指定的值

语法:hincrby key field num

返回值:返回添加成功后的值

时间复杂度:O(1)

操作演示:

在这里插入图片描述

hincrbyfloat

hincrby 的浮点数版本,如果 field 的值是浮点数,对浮点数进行加减时,使用该命令。

语法:hincrbyfloat key field num

返回值:返回添加成功后的值

时间复杂度:O(1)

操作演示:

在这里插入图片描述

相关文章:

Redis中hash类型的操作命令(命令的语法、返回值、时间复杂度、注意事项、操作演示)

文章目录 字符串和哈希类型相比hset 命令hget 命令hexistshdelhkeyshvalshgetallhmgethlenhsetnxhincrbyhincrbyfloat 字符串和哈希类型相比 假设有以下一种场景:现在要在 Redis 中存储一个用户的基本信息(id1、namezhangsan、age17),下图表示使用字符串…...

UE5基本操作(二)

文章目录 前言相机的移动速度修改默认地图使用初学者内容包文件夹结构 总结 前言 在我们的上一篇文章中,我们已经介绍了一些Unreal Engine 5(UE5)的基本操作。UE5是一款强大的游戏开发引擎,它提供了许多工具和功能,使…...

React Navigation 和 Expo Router

React Navigation 是 React Native 社区最常用的导航库,其具有高度可定制性且性能良好的特性。它提供了一系列导航器(如堆栈导航器、标签导航器、抽屉导航器等),可以满足绝大多数的页面导航需求。 Expo Router 是 Expo 官方最新发…...

如何使用python网络爬虫批量获取公共资源数据教程?

原文链接:如何使用python网络爬虫批量获取公共资源数据教程?https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247608240&idx4&snef281f66727afabfaae2066c6e92f792&chksmfa826657cdf5ef41571115328a09b9d34367d8b11415d5a5781dc4c…...

常见位运算总结

1.基础位运算 左移 &#xff08;<<&#xff09;: 最左侧位不要了, 最右侧补 0 右移&#xff08;>>&#xff09;: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1) 按位取反&#xff08;~&#xff09;&#xff1a;如果该位为 0 则转为 1, 如果该位为 1 则转为…...

自动化任务工具 -- zTasker v1.94 绿色版

软件简介 zTasker 是一款功能强大的自动化任务管理软件&#xff0c;以其简洁易用、一键式操作而著称。软件体积小巧&#xff0c;启动迅速&#xff0c;提供了超过100种任务类型和30多种定时/条件执行方法&#xff0c;能够满足用户在自动化方面的多样化需求。 zTasker 支持定时任…...

mybatis mapper.xml 比较运算符(大于|小于|等于)的写法: 转义和<![CDATA[]]>

文章目录 引言I 使用xml 原生转义的方式进行转义II 使用 <![CDATA[ 内容 ]]>引言 应用场景:查询时间范围 背景:在 *.xml 中使用常规的 < > = <= >= 会与xml的语法存在冲突 <![CDATA[]]> 比 转义符 来的繁琐 <![CDATA[]]> 表示xml解析器忽略…...

UE5的基本操作

涵盖了从建模、快捷键使用、界面操作到性能分析等多个方面&#xff0c;以下是一些关键点和技巧&#xff1a;12 建模操作&#xff1a; 使用Shift5切换到建模模式&#xff0c;可以通过Shapes创建基本图元如立方体、球体等。 利用Create面板中的工具&#xff0c;如polyext自由创…...

C++ 实现学生成绩管理系统

C 实现学生成绩管理系统 思路&#xff1a; 定义 Student 类&#xff0c;包含学生的基本信息和成绩。实现添加学生、删除学生、修改成绩、显示所有学生成绩和查找学生的功能。使用向量&#xff08;vector&#xff09;存储学生信息。 #include <iostream> #include <…...

Elasticsearch 第四期:搜索和过滤

序 2024年4月&#xff0c;小组计算建设标签平台&#xff0c;使用ES等工具建了一个demo&#xff0c;由于领导变动关系&#xff0c;项目基本夭折。其实这两年也陆陆续续接触和使用过ES&#xff0c;两年前也看过ES的官网&#xff0c;当时刚毕业半年多&#xff0c;由于历史局限性导…...

力扣1124.表现良好的最长时间段

力扣1124.表现良好的最长时间段 哈希表存最小的下标 当s[i] > 0 那么他到头可以构成一个合法时间段否则 找到之前的 s[i] - 1 的下标&#xff1a; 因为连续的前缀和一定只相差1若想算更小的s[i] - 2,s[i] - 3…一定会先算到s[i] - 1那么这些更小数必然在 s[i]−1 首次出现的…...

算法训练营day67

题目1&#xff1a; #include <iostream> #include <vector> #include <string> #include <unordered_set> #include <unordered_map> #include <queue>using namespace std;int main() {string beginStr, endStr;int n;cin >> n;ci…...

人工智能--图像语义分割

个人主页&#xff1a;欢迎来到 Papicatch的博客 课设专栏 &#xff1a;学生成绩管理系统 专业知识专栏&#xff1a;专业知识 ​ 文章目录 &#x1f349;引言 &#x1f349;介绍 &#x1f348;工作原理 &#x1f34d;数据准备 &#x1f34d;特征提取 &#x1f34d;像素分…...

fl studio20和21用哪一个好?FL-Chan from FL Studio欣赏

最近接到很多小伙伴的私信&#xff0c;都在问我平时会使用哪些音乐软件&#xff0c;能不能给一些参考。其实每个人的使用习惯不一样&#xff0c;需求也不一样。以DAW为例&#xff0c;有些人就是喜欢FL Studio&#xff0c;有些人吹爆Studio One&#xff0c;还有些人习惯使用Cuba…...

OpenCV直方图计算函数calcHist的使用

操作系统&#xff1a;ubuntu22.04OpenCV版本&#xff1a;OpenCV4.9IDE:Visual Studio Code编程语言&#xff1a;C11 功能描述 图像的直方图是一种统计表示方法&#xff0c;用于展示图像中不同像素强度&#xff08;通常是灰度值或色彩强度&#xff09;出现的频率分布。具体来说…...

09 docker 安装tomcat 详解

目录 一、安装tomcat 1. tomcat镜像的获取 2. docker创建容器实列 3. 访问测试 404错误 4. 解决方案 5. 使用免修改版容器镜像 5.1. 运行实列的创建 5.2. 出现问题及解决&#xff1a; 6. 验证 OK 一、安装tomcat 1. tomcat镜像的获取 docker search tomcat #docker …...

44.实现管理HOOK点的链表对象

上一个内容&#xff1a;43.实现HOOK接管寄存器数据 以 43.实现HOOK接管寄存器数据 它的代码为基础进行修改 首先创建一个类 这里创建的名为HOOKPOINT.h HOOKPOINT.cpp文件里面的内容 #include "pch.h" #include "HOOKPOINT.h"HOOKPOINT::HOOKPOINT() {…...

Unity小知识

1.当我们把摄像机的内容渲染到RenderTexture上而不是屏幕上时,那么相机的Aspect默认会设置成和RenderTexture的分辨率一样.不过最终如果把RenderTexture作为贴图贴到模型上去的时候还是会被UV拉伸和缩小的。 2.要想自定义UnityPackage的内容&#xff0c;只要找到UnityProject/L…...

【Jupyter Notebook与Git完美融合】在Notebook中驾驭版本控制的艺术

标题&#xff1a;【Jupyter Notebook与Git完美融合】在Notebook中驾驭版本控制的艺术 Jupyter Notebook是一个流行的开源Web应用程序&#xff0c;允许用户创建和共享包含实时代码、方程、可视化和解释性文本的文档。而Git是一个广泛使用的分布式版本控制系统&#xff0c;用于跟…...

Python开发者必看:内存优化的实战技巧

更多Python学习内容&#xff1a;ipengtao.com Python是一种高级编程语言&#xff0c;以其易读性和强大的功能而广受欢迎。然而&#xff0c;由于其动态类型和自动内存管理&#xff0c;Python在处理大量数据或高性能计算时&#xff0c;内存使用效率可能不如一些低级语言。本文将介…...

Qwen3.5-4B-Claude-Opus惊艳效果展示:同一问题下普通回答vs结构化推理对比

Qwen3.5-4B-Claude-Opus惊艳效果展示&#xff1a;同一问题下普通回答vs结构化推理对比 1. 模型能力概述 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是一个经过特殊优化的推理模型&#xff0c;它在标准问答能力的基础上&#xff0c;重点强化了结构化分析和分步骤推理…...

Android 11 自动亮度算法优化与曲线配置解析

1. Android 11自动亮度技术演进 记得第一次用上Android 11的手机时&#xff0c;最让我惊喜的就是屏幕亮度调节变得特别"聪明"。以前在电影院掏出手机总被刺得睁不开眼&#xff0c;现在却能像人眼一样自然地适应环境。这背后其实是Google对自动亮度算法做了重大升级&a…...

java毕业设计基于SpringBoot酒店预定系统

前言 Spring Boot酒店预定系统是一种功能丰富、易于维护和扩展的在线预订平台。它通过整合前后端技术&#xff0c;实现了酒店信息的在线展示、预订、支付以及管理等一系列功能&#xff0c;为用户和酒店提供了便捷、高效的预订服务。随着旅游业和酒店业的不断发展&#xff0c;该…...

PyTorch 2.8通用镜像实战教程:在/data挂载数据集+models加载权重全流程

PyTorch 2.8通用镜像实战教程&#xff1a;在/data挂载数据集models加载权重全流程 1. 镜像环境概述 PyTorch 2.8深度学习镜像基于RTX 4090D 24GB显卡和CUDA 12.4深度优化&#xff0c;为各类AI任务提供开箱即用的开发环境。这个镜像特别适合需要高性能计算资源的深度学习项目&…...

华为OD面试-Java、C++、Pyhton等多语言实现-目录

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;华为OD面试 文章目录一、&#x1f340;2023A卷二、&#x1f340;2023B卷一、&#x1…...

施密特触发器除了整形还能干啥?聊聊它在Arduino按键消抖和信号调理里的妙用

施密特触发器在Arduino中的高阶应用&#xff1a;从按键消抖到信号调理的实战指南 当你在调试Arduino项目时&#xff0c;是否遇到过按键响应不稳定、传感器读数跳变的问题&#xff1f;这些看似简单的硬件问题&#xff0c;往往会让开发者花费大量时间在软件滤波上。实际上&#x…...

从DEM到智慧决策:河北地形分析在生态保护与灾害预警中的实战应用

从DEM到智慧决策&#xff1a;河北地形分析在生态保护与灾害预警中的实战应用 河北省作为中国地形最丰富的省份之一&#xff0c;从坝上高原到华北平原的过渡带&#xff0c;构成了一个天然的"地理实验室"。当我们谈论DEM&#xff08;数字高程模型&#xff09;时&#x…...

低成本AI实验:OpenClaw+nanobot学生方案

低成本AI实验&#xff1a;OpenClawnanobot学生方案 1. 为什么学生需要关注OpenClaw 作为一名计算机专业的学生&#xff0c;我一直在寻找既能满足课程项目需求又不会让钱包"大出血"的AI解决方案。直到发现了OpenClawnanobot这个组合&#xff0c;它完美解决了我在机器…...

动态代理·学习笔记

“嗨,阿米戈。” “你好,瑞希。” “今天我将向您解释一个非常有趣的新话题:动态代理”。 “Java 有几种方法可以改变特定类的功能……” “第一个方法,传承。” “更改类行为的最简单方法是创建一个继承原始(基)类的新类,并覆盖其方法。然后,使用派生类而不是原始…...

2026年专业深度测评:防蛀牙儿童牙膏排名前五权威榜单

核心结论&#xff1a; 基于对产品配方科学性、成分安全性、防蛀功效验证及品牌专业资质的四维量化评估&#xff0c;德国原装进口的宝儿德儿童牙膏在本次权威测评中综合表现位列榜首&#xff0c;其经百年验证的经典防蛀配方、全面的“无有害添加”体系及适配儿童误吞的安全性设计…...