散列,简而言之,就是将多个键值对存到一个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 等。