redis之哈希类型(hash)
Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型。
在Redis中的哈希值,可存储超过400十亿键值对。
假如我有一个表示“职工”的对象,他可以有如下属性:
1. {"name":"binbin","age":26,"position":"PHP leader"}
看看是如何将对象保存到redis中的:
1. > hmset zhibin name "binbin" age 26 position "PHP leader"
2. OK
3. > hgetall zhibin
4. 1) "name"
5. 2) "binbin"
6. 3) "age"
7. 4) "26"
8. 5) "position"
9. 6) "PHP leader"
如果1年之后,binbin晋升为PHP主管,我们就需要更新age和positon这2个字段的信息:
1. #首先给年龄加1
2. > HINCRBY zhibin age 1
3. (integer) 27
4. #更新一下position字段
5. > HMSET zhibin position "PHP director"
6. OK
7. > hgetall zhibin
8. 1) "name"
9. 2) "binbin"
10. 3) "age"
11. 4) "27"
12. 5) "position"
13. 6) "PHP director"
如下表所示哈希一些基本的命令:
S.N. | 命令和说明 |
1 | 删除一个或多个哈希字段 |
2 | 判断一个哈希字段存在与否 |
3 | 获取存储在指定的键散列字段的值 |
4 | 让所有的字段和值在指定的键存储在一个哈希 |
5 | 由给定数量增加的哈希字段的整数值 |
6 | HINCRBYFLOAT key field increment 由给定的递增量哈希字段的浮点值 |
7 | 获取所有在哈希字段 |
8 | 获取哈希字段数 |
9 | 获得所有给定的哈希字段的值 |
10 | HMSET key field1 value1 [field2 value2 ] 设置多个哈希字段的多个值 |
11 | 设置哈希字段的字符串值 |
12 | 设置哈希字段的值,仅当该字段不存在 |
13 | 获取在哈希中的所有值 |
14 | HSCAN key cursor [MATCH pattern] [COUNT count] 增量迭代哈希字段及相关值 |