散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型,换句话说,散列类型不能嵌套其他的数据类型。一个散列类型的键可以包含至多2^32-1个字段。除了散列类型,Redis的其他数据类型同样不支持数据类型嵌套。比如集合类型的每个元素都只能是字符串,不能是另一个集合或散列表等。
散列类型适合存储对象:使用对象类别和对象ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。例如要存储ID为2的汽车对象,可以分别使用名为color、name和price的3个字段来存储该辆汽车的颜色、名称和价格。
赋值与取值:
HSET key field value
HGET key field
HMSET key field value [field value ...]
HMGET key field [field ...]
HGETALL key
判断字段是否存在:
HEXISTS key field
当字段不存在时赋值:
HSETNX key field value
增加数字:
HINCRBY key field increment
删除字段:
HDEL key field [field ...]
只获取字段名:
HKEYS key
只获取字段值:
HVALS key
获得字段数量:
HLEN key