Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型。
参考连接:(
http://www.yiibai.com/redis/redis_hashes.html)
在Redis中的哈希值,可存储超过400十亿键值对。
假如我有一个表示“职工”的对象,他可以有如下属性:
{"name":"binbin","age":26,"position":"PHP leader"}
看看是如何将对象保存到redis中的:
> hmset zhibin name "binbin" age 26 position "PHP leader"
OK
> hgetall zhibin
1) "name"
2) "binbin"
3) "age"
4) "26"
5) "position"
6) "PHP leader"
如果1年之后,binbin晋升为PHP主管,我们就需要更新age和positon这2个字段的信息:
#首先给年龄加1
> HINCRBY zhibin age 1
(integer) 27
#更新一下position字段
> HMSET zhibin position "PHP director"
OK
> hgetall zhibin
1) "name"
2) "binbin"
3) "age"
4) "27"
5) "position"
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] 增量迭代哈希字段及相关值 |