Redis 06 哈希
哈希就是 key - map 的数据结构
应用场景:对象存储
赋值
单个哈希
Hset
127.0.0.1:6379> Hset hash f1 sail
(integer) 1
多个哈希
Hmset
127.0.0.1:6379> Hmset hash f2 sail2 f3 sail3
OK
不存在才赋值
Hsetnx
127.0.0.1:6379> Hkeys hash
1) "f1"
2) "f2"
3) "f3"
127.0.0.1:6379> Hsetnx hash f4 1 # f4 不存在,赋值成功
(integer) 1
127.0.0.1:6379> Hget hash f4
"1"
127.0.0.1:6379> Hsetnx hash f4 2 # f4 存在,赋值失败
(integer) 0
127.0.0.1:6379> Hget hash f4
"1"
自增
Hincrby
127.0.0.1:6379> Hset hash f3 1
(integer) 1
127.0.0.1:6379> Hincrby hash f3 1 # 自增 1
(integer) 2
127.0.0.1:6379> Hincrby hash f3 -1 # 自减 1(哈希没有自减命令,用自增负数实现自减)
(integer) 1
取值
单个哈希
Hget
127.0.0.1:6379> Hget hash f1
"sail"
多个哈希
Hmget
127.0.0.1:6379> Hmget hash f2 f3
1) "sail2"
2) "sail3"
所有值
Hgetall
127.0.0.1:6379> Hgetall hash
1) "f1"
2) "sail"
3) "f2"
4) "sail2"
5) "f3"
6) "sail3"
所有 key
Hkeys
127.0.0.1:6379> Hkeys hash
1) "f1"
2) "f2"
所有 value
Hvals
127.0.0.1:6379> Hvals hash
1) "sail"
2) "sail2"
长度
Hlen
127.0.0.1:6379> Hgetall hash
1) "f1"
2) "sail"
3) "f2"
4) "sail2"
127.0.0.1:6379> Hlen hash
(integer) 2
字段是否存在
Hexists
127.0.0.1:6379> Hgetall hash
1) "f1"
2) "sail"
3) "f2"
4) "sail2"
127.0.0.1:6379> Hexists hash f1 # 存在返回 1
(integer) 1
127.0.0.1:6379> Hexists hash f3 # 不存在返回 0
(integer) 0
删除
指定字段
Hdel
127.0.0.1:6379> Hdel hash f3
(integer) 1
127.0.0.1:6379> Hgetall hash
1) "f1"
2) "sail"
3) "f2"
4) "sail2"
参考
https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0
版本
6.2.6
天河有尽身作涯,星海无边前是岸。