1.1.1. 一、Hash的介绍:
Hash (哈希,类似 golang 里的 Map),Redis hash 是一个键值对集合,Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。
1.1.2. 二、Hash的单个key-value增删改查。
1、Hash的增加、查询。(使用 hset 增加、hget 查询)
127.0.0.1:6379> hset user1 name zhangsan
(integer) 1
127.0.0.1:6379> hset user1 age 18
(integer) 1
127.0.0.1:6379> hget user1 age
"18"
上面增加一个user1,里面有name、age。
2、查询某个Hash表全部的值。(使用 hgetall)
127.0.0.1:6379> hgetall user1
1) "name"
2) "zhangsan"
3) "age"
4) "18"
3、Hash的修改。(hset 重新设置一下值,就会覆盖原来的值,达到修改的目的)
127.0.0.1:6379> hget user1 age
"18"
127.0.0.1:6379> hset user1 age 99
(integer) 0
127.0.0.1:6379> hget user1 age
"99"
把user1的age修改为99
4、Hash的删除。(hdel 命令)
127.0.0.1:6379> hget user1 age
"99"
127.0.0.1:6379> hdel user1 age
(integer) 1
127.0.0.1:6379> hget user1 age
(nil)
删除了user1的age之后,hget出来是nil。表示已经删除。
1.1.3. 三、Hash的多个filed的增加、查询。
hmset 和 hmget 可以一次性来设置多个 filed 的值和返回多个 field 的值 。
127.0.0.1:6379> hmset user2 age 30 name zhangsan
OK
127.0.0.1:6379> hmget user2 age name
1) "30"
2) "zhangsan"
hmset user2 age 30 name zhangsan
给user2增加2个filed。age、name。
hmget user2 age name
查询user2的2个filed。age、name。
1.1.4. 四、判断Hash的某个filed是否存在。(使用 hexists 命令)
127.0.0.1:6379> hexists user2 age
(integer) 1
127.0.0.1:6379> hexists user2 age23
(integer) 0
hexists user2 age
判断user2的age字段存在,返回1。
hexists user2 age23
判断user2的age23 字段不存在,返回0。
1.1.5. 五、查询Hash有多少个filed。(使用hlen 命令)
127.0.0.1:6379> hlen user2
(integer) 2
上面返回2,表示user2这个hash里面有2个字段。