本篇基于redis 4.0.11版本,学习哈希(hash)相关命令。

hash 是一个string类型的field和value的映射表,特别适合用于存储对象。

序号 命令 描述 实例 返回
HSET key field value  将哈希表 key 中的字段 field 的值设为 value 。如果有值会覆盖。 HSET myhash field1 "foo1" (integer) 1
2 HDEL key field1 [field2]  删除一个或多个哈希表字段 删除键为myhash哈希表中field1的值:hdel myhash field1 成功:(integer) 1

失败:(integer) 0
HEXISTS key field  查看哈希表 key 中,指定的字段是否存在。 判断键为myhash哈希表中field1是否存在:HEXISTS myhash field1 存在:(integer) 1

不存在:(integer) 0
HGET key field  获取存储在哈希表中指定字段的值。 获取myhash哈希表中field1的值:HGET myhash field1 "foo1"
HGETALL key  获取在哈希表中指定 key 的所有字段和值 获取myhash哈希表中的所有值:HGETALL myhash 1) "field1"

2) "foo1"

3) "field2"

4) "foo2"

5) "field3"

6) "foo3"
HINCRBY key field increment  为哈希表 key 中的指定字段的整数值加上增量 increment 。 为myhash2哈希表中int1值减10:hincrby myhash2 int1 -10 (integer) 90
HINCRBYFLOAT key field increment  为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 为myhash2哈希表中float值减10:hincrbyfloat myhash2 float 2.2 "3.3"
HKEYS key  获取所有哈希表中的字段 获取myhash2表中所有值:hkeys myhash2 1) "int1"

2) "float"
HLEN key  获取哈希表中字段的数量 获取myhash2中字段数量:hlen myhash2 (integer) 2
HMGET key field1 [field2]  获取所有给定字段的值 获取所有给定字段的值:hmget myhash field2 field7 1) "foo2"

2) (nil)
HMSET key field1 value1 [field2 value2 ]  同时将多个 field-value (域-值)对设置到哈希表 key 中。 hmset myhash2 fi1 100 fi2 200 OK
HSETNX key field value  只有在字段 field 不存在时,设置哈希表字段的值。 hsetnx myhash2 fi3 300 (integer) 1
HVALS key  获取哈希表中所有值 获取myhash2哈希表中所有值:hvals myhash2 1) "90"

2) "3.3"

3) "100"
14 HSCAN key cursor [MATCH pattern] [COUNT count]  迭代哈希表中的键值对。 hscan myhash 0 1) "0"

2) 1) "field1"

   2) "foo1"

   3) "field2"

   4) "foo2"

   5) "field3"

   6) "foo3"
HSTRLEN key field 返回哈希表key中,与给定域field相关联的值的字符串长度(string length) 获取myhash哈希表中field1域值长度:hstrlen myhash field1

(integer) 4

详见:Redis官方文档

上一篇:【Redis】命令学习笔记——字符串(String)(23个超全字典版)

下一篇:【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

【Redis】命令学习笔记——哈希(hash)(15个超全字典版)的更多相关文章

  1. 【Redis】命令学习笔记——键(key)(20个超全字典版)

    安装完redis和redis-desktop-manager后,开始学习命令啦!本篇基于redis 4.0.11版本,从对键(key)开始挖坑! 准备工作,使用db1(默认db0,由于之前练习用db0 ...

  2. 【Redis】命令学习笔记——字符串(String)(23个超全字典版)

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 本篇基于redis 4.0.11版本,学习字符串( ...

  3. 【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)

    本篇基于redis 4.0.11版本,学习列表(list)和集合(set)和有序集合(sorted set)相关命令. 列表按照插入顺序排序,可重复,可以添加一个元素到列表的头部(左边)或者尾部(右边 ...

  4. 【Redis数据库】命令学习笔记——发布订阅、事务、脚本、连接等命令汇总

    本篇基于redis 4.0.11版本,学习发布订阅.事务.脚本.连接的相关命令. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. 序号 ...

  5. Redis:学习笔记-04

    Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...

  6. Redis:学习笔记-01

    Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...

  7. Redis:学习笔记-03

    Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...

  8. Redis:学习笔记-02

    Redis:学习笔记-02 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 4. 事物 Redis 事务本 ...

  9. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

随机推荐

  1. Docker笔记:常用命令汇总

    Docker常用命令汇总 启动服务 [root@localhost ~]# service docker start Redirecting to /bin/systemctl start docke ...

  2. C#中通过Lambda表达式为委托传入更多的参数

    如: DispatcherTimer dispatcherTimer = new DispatcherTimer(); dispatcherTimer.Tick += (o, e) => { d ...

  3. vue基于d2-admin的RBAC权限管理解决方案

    前两篇关于vue权限路由文章的填坑,说了一堆理论,是时候操作一波了. vue权限路由实现方式总结 vue权限路由实现方式总结二 选择d2-admin是因为element-ui的相关开源项目里,d2-a ...

  4. Java原子性、可见性、内存模型

    原子性: 原子性就是指该操作是不可再分的.不论是多核还是单核,具有原子性的量,同一时刻只能有一个线程来对它进行操作.简而言之,在整个操作过程中不会被线程调度器中断的操作,都可认为是原子性.比如 a = ...

  5. SQL Server - 文件组,文件,备份,分区

    FileGroup:文件组,为逻辑划分:Files:文件,为实际文件,需要指定文件属于哪个文件组. 使用多个文件的有点:可以将磁盘I/O压力分散,提供按文件和文件组(按文件和文件组进行备份需要设置数据 ...

  6. 在iis搭建nuget server时遇到405 method not allow

    <configuration> <system.webServer> <validation validateIntegratedModeConfiguration=&q ...

  7. ES6新特性:var与let区别

    1.let的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效.var定义的变量为全局变量. 2.var在同一块可以重复定义,let不能 //正常 function () { var ...

  8. Java基础教程(10)--类

    一.声明类   你已经见过了以如下方式定义的类: class MyClass { // field, constructor, and method declarations }   上面是声明类的最 ...

  9. oracle序列的创建和使用

    oracle 序列的创建与使用 (2012-03-15 16:14:09) -------------------------------------------------------------- ...

  10. JVM进程状态监控

    前言 ========== 为什么需要做服务器jvm自动发现的监控呢?这个事情主要有两点原因: 1.zabbix默认监控jvm状态是使用jmx中转进行监控的,监控效率比较低下 2.zabbix使用jm ...