Redis5数据类型3-Hash

2022-03-17  本文已影响0人  轻轻敲醒沉睡的心灵

1. Hash散列

是指Redis中存储的value值是Hash散列类型的。而Hash也有自己的数据结构: 它是由field和关联的value组成的map键值对。field和value是字符串类型,一个hash中最多包含2^32-1键值对。


Hash.png

2. Hash指令

2.1 赋值

127.0.0.1:6379> hset message m1 11111
1
127.0.0.1:6379> hmset message m2 22222 m3 33333 m4 44444
OK
127.0.0.1:6379> hsetnx message m2 222
0
127.0.0.1:6379> hset message m3 333
0
127.0.0.1:6379> hsetnx message m5 55555
1
127.0.0.1:6379>

2.2 取值

127.0.0.1:6379> hget message m1
11111
127.0.0.1:6379> hmget message m1 m2 m3
11111
22222
333
127.0.0.1:6379> hgetall message
m1
11111
m2
22222
m3
333
m4
44444
m5
55555
127.0.0.1:6379>

2.3 获取字段数量

hlen key

127.0.0.1:6379> hlen message
5
127.0.0.1:6379>

2.4 获取字段名或字段值

hkeys key
hvals key

127.0.0.1:6379> hkeys message
m1
m2
m3
m4
m5
127.0.0.1:6379> hvals message
11111
22222
333
44444
55555
127.0.0.1:6379>

2.5 判断字段是否存在

hexists key field

127.0.0.1:6379> hexists message m5
1
127.0.0.1:6379> hexists message m6
0
127.0.0.1:6379>

2.6 数值字段增加

127.0.0.1:6379> hset message number 5
1
127.0.0.1:6379> hincrby message number 2
7
127.0.0.1:6379> hget message number
7
127.0.0.1:6379> hincrbyfloat message number 0.38
7.38
127.0.0.1:6379> hget message number
7.38
127.0.0.1:6379>

2.7 删除字段

hdel key field [field ...]

127.0.0.1:6379> hgetall message
m1
11111
m2
22222
m3
333
m4
44444
m5
55555
number
7.38
127.0.0.1:6379> hdel message number
1
127.0.0.1:6379> hgetall message
m1
11111
m2
22222
m3
333
m4
44444
m5
55555
127.0.0.1:6379>

3. Hash的使用

因hash有key和field 2个标志,可用其进行一些统计,比如:

不适合hash的情况:

上一篇 下一篇

猜你喜欢

热点阅读