Hash类型,也叫散列,其value是一个无序字典,类似于HashMap结构。
问题
String结构是将对象序列化为json字符串后存储,当需要修改对象某个字段是不是很方便。
key value(将java对象序列化为json字符串)
taobao:user:1 {name:"Jack", age: 21}
Hash结构
可以对对象中每个字段独立存储,可以针对单个字段做crud。
key value
taobao:user:1 field value
name Jack
age 21
Hash类型的常见命令
hset key field value 添加值
hget key field 获取值
hmset key field value key field value... 批量添加值
hgetall key 获取key所有的字段field和字段值value
hkeys key 获取key中所有的field
hvals key 获取key中所有的value
hincrby key field 步长 正数-增长 负数-自减
hsetnx key field value 前提是filed不存在,若存在则不执行
key不存在,设置成功
key存在,field存在,设置失败
key存在,field不存在,设置成功