Redis 基本数据类型-hash散列表

散列表类型

散列类型(hash)的键值是一种字典结构,存储了字段和字段值的映射,但是字段值只能是字符串,不支持其他类型数据, 即散列值不能嵌套其他的数据类型, 一个散列类型的键可以包含2^32-1个字段

散列类型适合存储对象, 使用对象类别和ID构成键名, 使用字段表示对象属性,字段值则表示属性值。
例如要存储ID为2的汽车对象,可分别使用color, name和price的三个字段来存储该汽车的颜色,名称和价格。结构如下图

散列裂隙存储汽车对象

常用命令

  • hset key field value
  • hget key field
  • hmset key field value [field value...]
  • hmget key field [field ...]
  • hgetall key
127.0.0.1:6379> hset car price 500
(integer) 1
127.0.0.1:6379> hset car name BMW
(integer) 1
127.0.0.1:6379> hset car color white
(integer) 1
127.0.0.1:6379> hget car name
"BMW"
127.0.0.1:6379> hmget car price name
1) "500"
2) "BMW"
127.0.0.1:6379> hgetall car
1) "price"
2) "500"
3) "name"
4) "BMW"
5) "color"
6) "white"
  • 判断字段是否存在 hexists key field
127.0.0.1:6379> hexists car model
(integer) 0
127.0.0.1:6379> hexists car name
(integer) 1
  • 当字段不存在时赋值 hsetnx key field value
127.0.0.1:6379> hexists car model
(integer) 0
127.0.0.1:6379> hsetnx car model 3
(integer) 1
  • 增加数字 hincrby key field increment
127.0.0.1:6379> hincrby person score 60
(integer) 60
  • 删除字段 hdel key field [key field ...]
127.0.0.1:6379> hdel car model
(integer) 1
  • 只取字段名 hkeys key
  • 只取字段值 hvals key
  • 获取字段数量 hlen key
127.0.0.1:6379> hmset post:1 title 'first log' author 'little bai' time '2012-09-11' content 'today is sixday'
OK
127.0.0.1:6379> hkeys post:1
1) "title"
2) "author"
3) "time"
4) "content"
127.0.0.1:6379> hvals post:1
1) "first log"
2) "little bai"
3) "2012-09-11"
4) "today is sixday"
127.0.0.1:6379> hlen post:1
(integer) 4
posted @ 2020-08-13 15:29  phper-liunian  阅读(124)  评论(0编辑  收藏  举报