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

HDEL key field2 [field2] 

删除一个或多个哈希字段

2

HEXISTS key field 

判断一个哈希字段存在与否

3

HGET key field 

获取存储在指定的键散列字段的值

4

HGETALL key 

让所有的字段和值在指定的键存储在一个哈希

5

HINCRBY key field increment 

由给定数量增加的哈希字段的整数值

6

HINCRBYFLOAT key field increment 

由给定的递增量哈希字段的浮点值

7

HKEYS key 

获取所有在哈希字段

8

HLEN key 

获取哈希字段数

9

HMGET key field1 [field2] 

获得所有给定的哈希字段的值

10

HMSET key field1 value1 [field2 value2 ] 

设置多个哈希字段的多个值

11

HSET key field value 

设置哈希字段的字符串值

12

HSETNX key field value 

设置哈希字段的值,仅当该字段不存在

13

HVALS key 

获取在哈希中的所有值

14

HSCAN key cursor [MATCH pattern] [COUNT count] 

增量迭代哈希字段及相关值