百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Redis命令——哈希数据结构命令剖析

mhr18 2024-11-14 16:25 20 浏览 0 评论

在数据结构中,哈希表也叫散列表,是根据key访问数据结构空间,也是就是说根据键计算出存储数据空间的位置。在Redis中哈希的含义是键与值组成的关联映射,键与值是由字符串组成。

这种数据结构优势是1 能快速查找出元素。2 符合实际需求,比如要存储员工的身份证信息。

下面对hash 常用命令HMSET HSET HGET HGETALL HMGET HINCRBY HDEL HEXISTS HKEYS HLEN 剖析。

HMSET key field value [field value ...]

为key所关联哈希集添加键与值,该命令将重写所有在哈希集中存在的字段。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联

实验案例:

HSET key field value

在键所关联的哈希集中添加键与值,添加的键存在值将被覆盖。如果key不存在,会创建一个新的哈希集并key关联,与HMSET有什么区别呢?hset 不能添加多个属性值。

实验案例:

HGET key field

获取键关联哈希集合中属性对应的值

实验案例:

HGETALL key

获取键关联哈希表中所有属性与值

实验案例:

HMGET key field [field ...]

获取指定key所关联集合中各个属性对应的值,对于哈希集中不存在的每个字段,返回 nil 值。因为不存在的keys被认为是一个空的哈希集,对一个不存在的 key 执行 HMGET 将返回一个只含有 nil 值的列表

实验案例:

HINCRBY key field increment

增加key集合里面某个属性的数量。

实验案例:

HEXISTS key field

检验key对应哈希表中指定字段是否存在,返回1 hash里面包含该field,0 hash里面不包含该field或者key不存在。

实验案例:

HKEYS key

获取key关联哈希表所有字段

实验案例:

HLEN key

获取key关联哈希表所有字段数量

实验案例:

相关推荐

15个程序员们都应该知道的大模型高级提示词指令模板和示例

作为程序员你如何写大模型指令?你写的指令是不是更专业呢?下面是15个程序员使用的专业的大模型指令,如果早知道可以能节省你很多时间。这些指令可以用在chatgpt,deepseek等大模型。1.一键...

MyBatis-Plus内置的主键生成策略有大坑,要注意!

昨天小伙伴使用Mybaits-Plus开发的项目线上(集群、K8S)出现了主键重复问题,其报错如下:Mybatis-Plus启动时会通过com.baomidou.mybatisplus.core.to...

在开发中遇到过抢票逻辑难题吗?Spring Boot3 并发抢票核心技术

你在开发中有没有遇到过抢票逻辑实现的难题?每到热门演唱会、春运车票开抢的时刻,互联网上总是会出现系统崩溃、超卖等问题。对于咱们互联网大厂后端开发人员来说,如何在高并发场景下,实现一套可靠且高效的抢票逻...

MySQL 客服双表架构:构建智能工单处理系统的实战指南

MySQL工单与日志双表封神:超时提醒自动推送不求人客服系统实战:MySQL触发器让工单状态自动流转MySQL狠招:三行代码搞定百万级工单优先级计算服务工单与处理记录联动:MySQL黄金搭档解决客户投...

ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)

前言今天就来介绍一下ConcurrentHashMap的实现原理(JDK1.7和JDK1.8)哈希表介绍哈希表就是一种以键-值(key-indexed)存储数据的结构,我们只要输入待查找的值即ke...

Java 面试题:乐观锁和悲观锁的理解及如何实现,有哪些实现方式?

乐观锁与悲观锁的对比及实现方式一、核心概念对比维度悲观锁乐观锁设计理念假设并发冲突必然发生,预先加锁防止数据修改假设并发冲突较少发生,提交时检测冲突适用场景写操作频繁,数据竞争激烈读多写少,冲突概率低...

15. 性能优化(性能优化什么意思)

本章深入探讨Go语言性能优化的核心方法论,结合底层原理与生产实践经验,提供从诊断到调优的完整解决方案。15.1内存管理15.1.1逃逸分析优化#查看变量逃逸情况gobuild-gcflag...

单体应用到分布式再到微服务,用户认证和授权机制的演进史

Web应用和用户的身份验证息息相关,从单一服务器架构到分布式服务架构再到微服务架构,用户安全认证和授权的机制也一直在演进,下文对各个架构下的认证机制做个总结。单一服务器架构该架构下后端只有一台服务器提...

初试AspectJ切面编程(AOP)(aop切面编程现实举例)

AspectJ框架是什么AspectJ框架是一个用于面向切面编程(AOP)的框架。它是基于Java语言的扩展,提供了更强大和灵活的AOP功能。AspectJ可以在编译时或者运行时织入代码,以实现横切关...

2023级网络安全岗面试题及面试经验分享

目录致谢0x00字节跳动-渗透测试实习生0x010x02深信服-漏洞研究员实习0x030x04字节跳动-安全研究实习生0x05长亭科技-安全服务工程师0x06天融信面试复盘0x07腾讯-安...

mysql之性能优化:优化 MySQL 查询性能的方法

优化MySQL查询性能的方法MySQL是目前最流行的关系型数据库之一,但是在处理大型数据集合时,性能瓶颈可能会成为问题。为了解决这些性能问题,下面是一些优化MySQL查询性能的方法。1.索...

dcoker之容器数据卷,以及定制镜像Dockerfile配置与设置

一:容器数据卷(重要)1:cp命令平常数据在宿主机,如果单纯的获取宿主机的数据,可用cp命令,如:先启动一个nginx容器并在外部可以使用8800端口访问:dockercontainerru...

一次线上服务高 CPU 占用优化实践

线上有一个非常繁忙的服务的JVM进程CPU经常跑到100%以上,下面写了一下排查的过程。通过阅读这篇文章你会了解到下面这些知识。Java程序CPU占用高的排查思路可能造成线上服务大量...

go-micro集成RabbitMQ实战和原理(go micro编写单点登录)

在go-micro中异步消息的收发是通过Broker这个组件来完成的,底层实现有RabbitMQ、Kafka、Redis等等很多种方式,这篇文章主要介绍go-micro使用RabbitMQ收发数据的方...

RabbitMQ消息中间件的应用实践与深度解读

RabbitMQ消息中间件的应用实践与深度解读在这个快节奏的信息时代,RabbitMQ作为一款高性能、分布式、开源的消息中间件,已经成为许多企业架构中的核心组件。它不仅仅是一个简单的消息传递工具,更是...

取消回复欢迎 发表评论: