Hash类型,也叫做散列,其value是一个无序字典,类似于java中的HashMap。
相比于String类型将对象序列化为Json字符串,当需要修改某个字段的时候不是很方便;而Hash结构可以将对象中的每个字段独立存储,可以针对单个字段做CRUD:
基本的通用命令如上图所示,下面进行详细介绍!🐌🐌🐌
HSET key field value
:添加或者修改hash类型key的field的值
HGET key field
:获取一个hash类型key的field的值
HMSET
:批量添加多个hash类型key的field的值
HMGET
:批量获取多个hash类型key的field的值
可以看到Hash类型实现了进一层的结构存储
批处理的时候针对单个对象的属性实现也就是每个field
HGETALL
:获取一个hash类型的key中的所有的field和valueHKEYS
:获取一个hash类型的key中的所有的fieldHVALS
:获取一个hash类型的key中的所有的valueHINCRBY
:按增量递增键处存储的哈希中存储在字段处的数字。如果密钥不存在,则会创建一个包含哈希的新密钥。如果字段不存在,则在执行操作之前将该值设置为0。HINCEBYFLOAT
:按指定的增量,将存储在键处并表示浮点数的哈希的指定字段进行increment。如果增量值为负数,则结果是哈希字段值递减,而不是递增。如果出现以下情况之一,则返回错误:该字段包含错误类型的值(不是字符串);当前字段内容或指定的增量不能作为双精度浮点数进行分析.仅当字段尚不存在时,才将存储在key to value处的哈希中的字段设置为。如果密钥不存在,则会创建一个包含哈希的新密钥。如果字段已存在,则此操作无效。
HSTRLEN
:获取一个hash类型的key中值的长度HLEN
:获取一个hash类型的key中的所有的field的大小