redis hash数据类型的使用

介绍

相当于java的 Map、javascript中的 JSON、python中的 dict

key 是 string 类型,value 是 key-value 对

适合 存储对象,将一个 对象 存储在 hash类型中会占用 更少的内存,并且可以更 方便的存取 整个对象

每个 hash 可以存储 2^{32} - 1 键值对(40多亿)。

应用场景

存储用户信息

命令

http://redisdoc.com/hash/index.html
https://www.runoob.com/redis/redis-hashes.html

HSET
HSETNX
HGET
HEXISTS
HDEL
HLEN
HSTRLEN
HINCRBY
HINCRBYFLOAT
HMSET
HMGET
HKEYS
HVALS
HGETALL
HSCAN

例子:用户信息

一次存储一个key-value

>hset userinfo_123 name lilei

一次读取一个key-value

>hget userinfo_123 name

一次存储多个key-value

>hmset userinfo_123 age 20 phone 138
OK

一次读取多个key-value

> hmget userinfo_123 name age phone
1) "lilei"
2) "20"
3) "138"

获取所有的key-value

>hgetall userinfo_123
1) "name"   # 第一个key
2) "lilei"  # 第一个key对应的value
3) "age"    # 第二个key
4) "20"     # 第二个key对应的value
5) "phone"
6) "138"