Redis hash结构 和常用命令

时间:2022-12-09 21:20:55

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/