Redis hash结构 和常用命令
Redis 数据结构 -- 哈希
hash 是 一个 String 类型的field 和 value 的映射表
hash 的键值 对在内存中的一种无序的状态
命令 | 说明 | 备注 |
---|---|---|
hdel key field1 [ field2..... ] | 删除 hash 结构中的 某个 (些 ) 字段 | 可以进行多个字段的删除 |
hexists key field | 判断 hash 结构 中 是否存在 field 字段 | 存在返回 1 ,否则返回 0 |
hgetall key | 获取所有hash结构中的键值 | 返回键 和 值 |
hincrby key field increment | 指定给hash 结构 中的某一个字段加上一个整数 | 要求该字段也是整数字符串 |
hincrbyfloat key field increment | 指定给hash 结构 中的某一字段加上一个浮点数 | 要求该字段也是数字型字符串 |
hkeys key | 返回 hash 中 所有的键 | -- |
hlen key | 返回hash 中 键值对的数量 | -- |
hmget key field1 [field2 .... ] | 返回 hash 中 指定 的键 的值 ,可以是多个 | 依次返回 |
hmest key field1 value1 [field2 ....] | 在 hash 结构中 设置多个键值对 | 单个设值 |
hset key filed value | 在 hash 结构中 设置键值对 | 单个设值 |
hsetnx key field value | 当hash 结构 中 不存在对应的键值,才设置值 | -- |
hvals key | 获取hash 结构中所有的值 | -- |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
127.0.0.1:6379> hmset hash f1 val1 f2 val2 OK 127.0.0.1:6379> hset hash f3 6 (integer) 1 127.0.0.1:6379> hexists hash f2 (integer) 1 127.0.0.1:6379> hgetall hash 1) "f1" 2) "val1" 3) "f2" 4) "val2" 5) "f3" 6) "6" 127.0.0.1:6379> hincrby hash f3 2 (integer) 8 127.0.0.1:6379> hincrbyfloat hash f3 0.8 "8.800000000000001" 127.0.0.1:6379> hkeys hash 1) "f1" 2) "f2" 3) "f3" 127.0.0.1:6379> hlen hash (integer) 3 127.0.0.1:6379> hmget hash f1 f2 1) "val1" 2) "val2" 127.0.0.1:6379> hsetnx key f4 val4 (integer) 1 127.0.0.1:6379> hvals hash 1) "val1" 2) "val2" 3) "8.800000000000001" 127.0.0.1:6379> hdel hash f1 (integer) 1 127.0.0.1:6379> hkeys hash 1) "f2" 2) "f3" |
角色hash 结构
role_1 | role_1 |
---|---|
field | value |
id | 001 |
roleName | oukele |
age | 19 |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
127.0.0.1:6379> hmset role_1 id: 001 roleName: oukele age: 19 OK 127.0.0.1:6379> hgetall role_1 1) "id:" 2) "001" 3) "roleName:" 4) "oukele" 5) "age:" 6) "19" 127.0.0.1:6379> hget role_1 roleName: "oukele" 127.0.0.1:6379> hlen role_1 (integer) 3 |
参考地址:http://redisdoc.com/