Redis hash 是一种由 string 类型 field(字段)和 value(值)组成的映射结构,Redis 哈希特别适合用来存储对象属性、用户信息以及各类结构化数据。

在 Redis 中,每个 hash 最多可保存 232 - 1 个键值对,也就是 40 多亿个 field-value 数据项,因此在实际开发中具备非常可观的存储容量。
实例
127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL runoobkey
1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"
从上面的 Redis hash 示例可以看到,name、description、likes 和 visitors 这几项描述信息都被写入到了哈希表 runoobkey 中,这也说明哈希类型非常适合保存对象的多个字段和值。
Redis hash 命令
下表整理了常用的 Redis hash 基本命令及其功能说明:
| 序号 | 命令及描述 |
|---|---|
| 1 | HDEL key field1 [field2] 删除哈希表中的一个或多个字段。 |
| 2 | HEXISTS key field 判断哈希表 key 中指定字段是否存在。 |
| 3 | HGET key field 获取哈希表中指定字段对应的值。 |
| 4 | HGETALL key 获取指定哈希表 key 中的全部字段和值。 |
| 5 | HINCRBY key field increment 为哈希表 key 中指定字段的整数值增加 increment。 |
| 6 | HINCRBYFLOAT key field increment 为哈希表 key 中指定字段的浮点数值增加 increment。 |
| 7 | HKEYS key 获取哈希表中的所有字段名。 |
| 8 | HLEN key 获取哈希表中字段的总数量。 |
| 9 | HMGET key field1 [field2] 获取一个或多个给定字段的值。 |
| 10 | HMSET key field1 value1 [field2 value2 ] 一次性将多个 field-value(字段-值)对设置到哈希表 key 中。 |
| 11 | HSET key field value 将哈希表 key 中字段 field 的值设置为 value。 |
| 12 | HSETNX key field value 仅当字段 field 不存在时,才设置该字段的值。 |
| 13 | HVALS key 获取哈希表中的所有值。 |
| 14 | HSCAN key cursor [MATCH pattern] [COUNT count] 以迭代方式扫描哈希表中的键值对。 |
更多 Redis 命令请参考:https://redis.io/commands
