文章目录


Hash类型

Hash类型,也叫做散列,其value是一个无序字典,类似于java中的HashMap。

相比于String类型将对象序列化为Json字符串,当需要修改某个字段的时候不是很方便;而Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD:

【Redis】Hash类型_redis

【Redis】Hash类型_数据库_02

基本的通用命令如上图所示,下面进行详细介绍!🐌🐌🐌

1.1 HSET & HGET & HMSET & HMGET

【Redis】Hash类型_字段_03

  • HSET key field value:添加或者修改hash类型key的field的值
  • HGET key field:获取一个hash类型key的field的值
  • HMSET:批量添加多个hash类型key的field的值
  • HMGET:批量获取多个hash类型key的field的值

【Redis】Hash类型_哈希算法_04

可以看到Hash类型实现了进一层的结构存储

【Redis】Hash类型_哈希算法_05

  • 批处理的时候针对单个对象的属性实现也就是每个field
  • 【Redis】Hash类型_redis_06

返回顶部


1.2 HGETALL & HKEYS & HVALS

【Redis】Hash类型_返回顶部_07

  • HGETALL:获取一个hash类型的key中的所有的field和value
  • HKEYS:获取一个hash类型的key中的所有的field
  • HVALS:获取一个hash类型的key中的所有的value

【Redis】Hash类型_返回顶部_08

返回顶部


1.3 HINCRBY & HINCEBYFLOAT

【Redis】Hash类型_字段_09

  • HINCRBY:按增量递增键处存储的哈希中存储在字段处的数字。如果密钥不存在,则会创建一个包含哈希的新密钥。如果字段不存在,则在执行操作之前将该值设置为0。
  • HINCEBYFLOAT:按指定的增量,将存储在键处并表示浮点数的哈希的指定字段进行increment。如果增量值为负数,则结果是哈希字段值递减,而不是递增。如果出现以下情况之一,则返回错误:该字段包含错误类型的值(不是字符串);当前字段内容或指定的增量不能作为双精度浮点数进行分析.

【Redis】Hash类型_数据库_10

返回顶部


1.4 HSETNX

【Redis】Hash类型_字段_11

仅当字段尚不存在时,才将存储在key to value处的哈希中的字段设置为。如果密钥不存在,则会创建一个包含哈希的新密钥。如果字段已存在,则此操作无效。

  • 1如果字段是哈希中的新字段并且设置了值。
  • 如果哈希中已存在字段且未执行任何操作,则为0。
  • 【Redis】Hash类型_redis_12

返回顶部


1.5 HSTRLEN & HLEN

【Redis】Hash类型_返回顶部_13

  • HSTRLEN:获取一个hash类型的key中值的长度
  • HLEN:获取一个hash类型的key中的所有的field的大小

【Redis】Hash类型_哈希算法_14

返回顶部