该类型与java中的object(map)有些类似
赋值语法:
HSET KEY FIELD VALUE //为指定的KEY,设定FILD/VALUE
HMSET KEY FIELD VALUE [FIELD1,VALUE1]…… 同时将多个 field-value (域-值)对设置到哈希表 key 中。
取值语法:
HGET KEY FIELD //获取存储在HASH中的值,根据FIELD得到VALUE
HMGET key field[field1] //获取key所有给定字段的值
HGETALL key //返回HASH表中所有的字段和值
HKEYS key //获取所有哈希表中的字段
HLEN key //获取哈希表中字段的数量
type key //查看key类型
全部删除:del key
删除语法:
HDEL KEY field1[field2] //删除一个或多个HASH表字段
其它语法:
HSETNX key field value
只有在字段 field 不存在时,设置哈希表字段的值
HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。
HINCRBYFLOAT key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
HEXISTS key field //查看哈希表 key 中,指定的字段是否存在
Hash的应用场景:(存储一个用户信息对象数据)
1、 常用于存储一个对象
2、 为什么不用string存储一个对象?
Redis提供的Hash很好的解决了这个问题,Redis的Hash实际是内部存储的Value为一个HashMap,并提供了直接存取这个Map成员的接口