四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)

@

目录

hash哈希表 :一句话: Redis hash 是一个键值对集合,hash 适合用于存储对象, 类似 Java 里面的 Map<String,Object> 。

Redis hash 存储结构简单示意图:

关于hash 哈希表的命令,在 Redis 当中有如下这些:

这里我们介绍一些 hash 哈希表比较常用的一些命令,然后,举一反三,根据文档也可以对其它的命令上手学习使用了 。

2.hash 哈希表常用指令(详细讲解说明)

2.1 hset <key><field><value> 给<key>集合中的 <field>键赋值 <value>

127.0.0.1:6379> hset monster_100 id "100" name "jack"

注意: 也可以使用该指令,在已存在的哈希表当中添加新的,键值对

127.0.0.1:6379> hset monster_100 age "18"

2.2 hget <key1><field>从<key1>集合<field>取出 value

127.0.0.1:6379> hget monster_100 name
"jack"
127.0.0.1:6379> hget monster_100 id
"100"

2.3 hmset <key1><field1><value1><field2><value2>... 批量设置 hash 的值

和 hset 是一样的。

127.0.0.1:6379> hmset monster_200 id "200" name "lihua"

2.4 hmget <key1><field1> <field2>... 批量取出 hash 的 filed 值

127.0.0.1:6379> hmget monster_100 "id" "name"

2.5 hexists<key1><field> 查看哈希表 key 中,给定域 field 是否存在

127.0.0.1:6379> hexists monster_100 "id"

2.6 hkeys <key> 列出该 hash 集合的所有 field

127.0.0.1:6379> hkeys monster_100

2.7 hvals <key> 列出该 hash 集合的所有 value

127.0.0.1:6379> hvals monster_100

注意: 如果指定的 哈希表不存在,则返回:empty array

2.8 hincrby <key><field><increment>为哈希表 key 中的域 field 的值加上增量 1 -1

127.0.0.1:6379> hincrby monster_100 age 1
(integer) 19
127.0.0.1:6379> hget monster_100 age
"19"
127.0.0.1:6379> hincrby monster_100 age 10
(integer) 29
127.0.0.1:6379> hget monster_100 age
"29"
127.0.0.1:6379>

注意:只有"数字字符串" 才可以运算 + 1

2.9 hsetnx <key><field><value>将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在时,还会成功

127.0.0.1:6379> hsetnx monster_100 sex f

注意: 如果给定域已经存在于哈希表当中, 那么命令将放弃执行设置操作。

3. 最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)的更多相关文章

  1. ORACLE结构体系篇之表空间详解.md

    表空间详解一.系统表空间SYSTEM 表空间是Oracle 数据库最重要的一个表空间,存放了一些DDL 语言产生的信息以及PL/SQL 包.视图.函数.过程等,称之为数据字典,因此该表空间也具有其特殊 ...

  2. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  3. 全网最详细的Sublime Text 3的激活(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows里下载与安装Sublime Text *(图文详解) ZYNGA INC. User License EA7E- 927BA117 84C93 ...

  4. java基础:进制详细介绍,进制快速转换,二维数组详解,循环嵌套应用,杨辉三角实现正倒直角正倒等腰三角,附练习案列

    1.Debug模式 1.1 什么是Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 1.2 Debug介绍与操作流程 如何加断点 选择 ...

  5. 四:Redis五大数据类型

    Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...

  6. redis哈希表数据类型键的查询和删除命令

    一.查询 命令名称:hget 语法:hget key field 功能:返回哈希表key中给定域field的值 返回值: 给定域的值. 当给定域不存在或是给定key不存在时,返回nil 命令名称:hg ...

  7. redis哈希表数据类型键的设置

    命令名称:hset 语法:hset key field value 功能: 1)将哈希表key中的域field的值设为value. 2)如果key不存在,一个新的哈希表被创建并进行hset操作. 3) ...

  8. Java中关于注释、标识符、变量、常量、数据类型、类型转换、转移字符以及数值型的表现形式的详解

    Java文件的注意事项 在同一个Java文件中,可以定义多个类,但是被public修饰的类只能够有一个,并且此类名要与文件名一致. 在同一个类中,可以定义多个方法,但是名字叫做main的方法只能有一个 ...

  9. 全网最详细的Centos7系统里安装Openresty(图文详解)

    不多说,直接上干货! 介绍: Nginx 采用一个 master 进程管理多个 worker 进程(master-worker)模式,基本的事件处理都在 woker 中,master 负责一些全局初始 ...

  10. Python02 标准输入输出、数据类型、变量、随记数的生成、turtle模块详解

    1 标准输出 python3利用 print() 来实现标准输出 def print(self, *args, sep=' ', end='\n', file=None): # known speci ...

随机推荐

  1. OpenMM的安装与使用

    技术背景 OpenMM是一款基于Python开发的开源分子动力学模拟软件,这几年因为AlphaFold的缘故,使得这个软件的热度有了不少提升.并且可以使用GPU硬件加速,所以性能上也不赖.这里介绍一下 ...

  2. 使用 MySQL Shell 获取 MySQL 诊断信息(译)

    收集全面的诊断信息可能会让人望而却步.知道要运行哪些查询以获取所需数据更像是一种艺术形式,而非其他什么.幸运的是,对于那些不太擅长艺术的人来说,MySQL Shell 使得获取这些信息变得更加容易.让 ...

  3. Nuxt.js 应用中的 webpack:error 事件钩子

    title: Nuxt.js 应用中的 webpack:error 事件钩子 date: 2024/11/25 updated: 2024/11/25 author: cmdragon excerpt ...

  4. if else的多种替换方式

    1)利用逻辑判断的短路运算来实现 && 和 ||(&& 中第一个表达式为假就不会去处理第二个表达式,|| 则相反) // if为真 if (bool) { value ...

  5. YAML语法基础

    YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言). YAML 的语法和其他高级语言类似,并且可以简单表达清单.散列表,标量等数 ...

  6. bat隐藏窗口运行

    在bat脚本开头添加: if "%1" == "h" goto begin mshta vbscript:createobject("wscript. ...

  7. Dockerfile轻松打包jar包生成docker

    1. 创建java目录 mkdir /home/java/ cd /home/java/ 2. 创建Dockerfile #FROM openjdk:8-jdk-alpine #ADD *.jar a ...

  8. tableau连接不上mysql或不显示mysql表的终极解决方法

    [报错一]连不上mysql An error occurred while communicating with MySQL The connection to the data source mig ...

  9. 关于 Span 的一切:探索新的 .NET 明星:5. .NET 运行时的处理

    .5. NET 运行时会怎么样? 1. Span<T> 是什么? 2. Span<T> 是如何实现的? 3. 什么是 Memory<T>,以及为什么你需要它? 4. ...

  10. Collector的配置和使用

    目录 Collector的配置和使用 Collector配置 Receivers Processors Exporters Service Extensions 使用环境变量 Collector的使用 ...