散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他的数据类型。
一个散列类型键可以包含至多2^32 -1个字段。
命令
赋值
HSET key field value > HSET car price 500
(integer) 1
> HSET car name BMW
(integer) 1
HSET 命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时HSET命令返回0。
取值
HGET key field >HGET car name
"BMW"
同时设置多个值
HMSET key field value [field value]
同时获取多个值
HMGET key field [field ...] > HMGET car price name
1) "500"
2) "BMW"
获取所有的字段和字段值
HGETALL key > HGETALL car
1) "price"
2) "500"
3) "name"
4) "BMW"
判断字段是否存在
HEXISTS key field > HEXISTS car model
(integer) 0
> HSET car model C200
(integer) 1
> HEXISTS car model
(integer) 1
字段不存时赋值
HSETNX key field value
与HSET命令类似,不存在返回1,存在返回0。
增加数字
HINCRBY key field increment > HINCRBY person score 60
(integer) 60
删除字段
HDEL key field [field ...] > HDEL car price
(integer) 1
> HDEL car price
(integer) 0
只获取字段名
HKEYS key > HKEYS car
1) "name"
2) "model"
只获取字段值
HVALS key > HVALS key
1) "BMW"
2) "C200"
获得字段数量
HLEN key > HLEN car
(integer) 2