散列,简而言之,就是将多个键值对存到一个redis键里边。相当于关系型数据库的一行,或者相当于文档型数据库中的文档。
HMSET/HMGET
批量设置/获取
HMSET 是同时将多个 field-value (域-值)对设置到散列的 key 中。
比如我们将用户1(user:1,可以理解为关系型数据库中的id,可以自定义)的姓名、性别、电话、城市保存为一个键。
127.0.0.1:6379[10]> HMSET user:1 name zhansan sex 1 phone 13658457587 city shanghai
OK
获取散列中某个键的一个或多个字段值
127.0.0.1:6379[10]> HMGET user:1 name city
1) "zhansan"
2) "shanghai"
HGETALL
获取在散列中指定 key 的所有字段和值
127.0.0.1:6379[10]> HGETALL user:1
1) "name"
2) "zhansan"
3) "sex"
4) "1"
5) "phone"
6) "13658457587"
7) "city"
8) "shanghai"
HSET/HGET
设置/获取 指定键的指定字段的值
127.0.0.1:6379[10]> HSET user:1 age 18
(integer) 1
127.0.0.1:6379[10]> HGET user:1 age
"18"
HKEYS/HVALS
获取散列中包括所有字段/所有值
127.0.0.1:6379[10]> HKEYS user:1
1) "name"
2) "sex"
3) "phone"
4) "city"
5) "age"
127.0.0.1:6379[10]> HVALS user:1
1) "zhansan"
2) "1"
3) "13658457587"
4) "shanghai"
5) "18"
HEXISTS
散列中某个键的某个字段是否存在
127.0.0.1:6379[10]> HEXISTS user:1 phone
(integer) 1
更多
当然,关于散列类型的操作命令还有很多,这里不一一介绍啦,有兴趣的话参考官方文档(https://redis.io/commands )。
未提到的比如:HDEL、HSETNX、HINCRBY、HINCRBYFLOAT 等。