【Redis】Redis常用命令之Hash

news2024/11/16 11:48:36

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.coloradmin.cn/o/1517944.html

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

相关文章

【视觉三维重建】【论文笔记】Deblurring 3D Gaussian Splatting

去模糊的3D高斯泼溅,看Demo比3D高斯更加精细,对场景物体细节的还原度更高,[官网](https://benhenryl.github.io/Deblurring-3D-Gaussian-Splatting/) 背景技术 Volumetric rendering-based nerual fields&#xff1a…

邀请媒体到场报道与采访的优势分析

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 邀请媒体到场报道与采访的优势主要有: 提高知名度和曝光率:通过媒体的广泛传播,让更多人了解活动或品牌,增强其在公众中的认知度。 树立权…

自动化运维工具Ansible

目录 一.Ansible基本内容 1.定义 2.特点与优势 优势: (1)轻便性:无需在被控制服务器上安装客户端,Ansible基于ssh协议 (2)幂等性:大部分模块有幂等性,即如果输入sys…

Git概述及安装步骤

一、Git简介 Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion、CV…

鸿蒙 - 读取 rawfile 中的 json 文件

一、说明 在以下目录中存放了一份地区 json 文件。 我想要将其读出来,并且转为我的实体类。 二、技术实现 import common from ohos.app.ability.common import { CityEntity } from ./entity/CityEntity import util from ohos.util;/*** App 内置的地区数据* r…

pytorch之诗词生成3--utils

先上代码: import numpy as np import settingsdef generate_random_poetry(tokenizer, model, s):"""随机生成一首诗:param tokenizer: 分词器:param model: 用于生成古诗的模型:param s: 用于生成古诗的起始字符串,默认为空串:return: …

深度解析Java JDK 1.8中Stream流的源码实现:带你探寻数据流的奥秘

文章目录 一、 Stream流概述1.1 什么是Stream流,以及它的主要特点和优势1.2 Stream流的基本操作:过滤、映射、排序等 二、 Stream流源码解析2.1 接口和基本概念2.2 创建流2.3 源码分析2.3.1 流的起始2.3.2 流的初始2.3.3 认识BaseStream2.3.4 Stream接口…

软考高级:软件工程单元测试(驱动模块、被测模块、桩模块)概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

Qt 线程池 QThreadPool

一.Qt 线程池 QThreadPool介绍 Qt线程池是一种管理多个线程的并发编程模型,通过使用线程池可以提高性能、控制并发度、提供任务队列和简化线程管理。 在Qt中,线程池的使用主要涉及以下几个步骤: 创建任务类:需要定义一个任务类&am…

【计算机视觉】一、计算机视觉概述

文章目录 一、计算机视觉二、计算机视觉与其它学科领域的关系1、图像处理2、计算机图形学3、模式识别4、人工智能(AI)5、神经生理学与认知科学 三、计算机视觉的应用1. 人脸识别2. 目标检测3. 图像生成4. 城市建模5. 电影特效6. 体感游戏动作捕捉7. 虚拟…

Android 仿天通卫星对准(卫星在圆形卫星轨道上转动)效果实现

效果图 View源码 package com.android.circlescalebar.view;import android.animation.ObjectAnimator; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics…

linux对于文件操作其他命令

tac,与cat不同,tac可以倒序查看文件内容 管道符,可以将第一条命令的结果当作第二条命令的输入 more分屏显示文件内容 head,可以查看文件前多少行,tail可以查看文件后多少行

JavaEE之多线程(创建线程的五种写法)详解

😽博主CSDN主页: 小源_😽 🖋️个人专栏: JavaEE 😀努力追逐大佬们的步伐~ 目录 1. 前言 2. 操作系统"内核" 3. 创建线程的五种写法 (我们重点要掌握最后一种写法!!) 3.1 继承 Thread, 重写 run 3. 2 实现 Runnabl…

SpringBoot Servlet容器启动解析

介绍 容器架构 容器处理请求 容器启动全局流程解析 启动前准备 WebServer创建入口 WebServer创建 Servlet启动 Web容器工厂类加载解析 Web容器个性化配置 属性注入 工厂类初始化 BeanPostProcessor方法实现 定制化流程 面试题 请描述下Servlet容器启动流程?介绍下…

最新android icon和splashScreen适配兼容至2024android

android在12做了splashScreen的变动,即,android12有自带的screenSplash过渡,不论你是否自己有变化,都会插入该动画。 android8做了icon的巨大变动。13做了图标的主题兼容。 一、icon制作 制作 使用android自带的工具&#xff0…

Modbus -tcp协议使用第二版

1.1 协议描述 1.1.1 总体通信结构 MODBUS TCP/IP 的通信系统可以包括不同类型的设备: (1)连接至 TCP/IP 网络的 MODBUS TCP/IP 客户机和服务器设备; (2)互连设备,例如:在 TCP/IP…

外包干了5天,技术明显退步。。。。。

先说一下自己的情况,本科生,19年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

C# Onnx yolov8 building segmentation

目录 效果 模型信息 项目 代码 下载 C# Onnx yolov8 building segmentation 效果 模型信息 Model Properties ------------------------- date:2023-12-22T10:51:07.627471 author:Ultralytics task:segment license:AGPL-…

HBase分布式数据库的原理和架构

一、HBase简介 HBase是是一个高性能、高可靠性、面向列的分布式数据库,它是为了在廉价的硬件集群上存储大规模数据而设计的。HBase利用Hadoop HDFS作为其文件存储系统,且Hbase是基于Zookeeper的。 二、HBase架构 *图片引用 Hbase采用Master/Slave架构…

YOLOv9(3):YOLOv9损失(Loss)计算

1. 写在前面 YOLOv9的Loss计算与YOLOv8如出一辙,仅存在略微的差异。多说一句,数据的预处理和导入方式都是一样的。因此如果你已经对YOLOv8了解的比较透彻,那么对于YOLOv9你也只是需要多关注网络结构就可以。 YOLOv9本身也是Anchor-Free的&a…