Hash
类似于Map<K,V>
创建取值和删除
| 标题 | |
|---|
hset | 将哈希表 hash 中域 field 的值设置为 value 。如果给定的哈希表并不存在, 那么一个新的哈希表将被创建并执行 HSET 操作。如果域 field 已经存在于哈希表中, 那么它的旧值将被新值 value 覆盖。 |
hget | 返回哈希表中给定域的值。 |
hgetall | 返回哈希表 key 中,所有的域和值。在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。 |
hmget | 返回哈希表 key 中,一个或多个给定域的值。如果给定的域不存在于哈希表,那么返回一个 nil 值。因为不存在的 key 被当作一个空哈希表来处理,所以对一个不存在的 key 进行 HMGET 操作将返回一个只带有 nil 值的表。 |
hdel | 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。 |
| |
127.0.0.1:6379> hset myhash k1 v1 k2 v2 k3 v3 k4 v4
(integer) 4
127.0.0.1:6379> hget myhash k3
"v3"
127.0.0.1:6379> hgetall myhash
1) "k1"
2) "v1"
3) "k2"
4) "v2"
5) "k3"
6) "v3"
7) "k4"
8) "v4"
127.0.0.1:6379> hmget myhash k2 k4
1) "v2"
2) "v4"
127.0.0.1:6379> hdel myhash k3
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "k1"
2) "v1"
3) "k2"
4) "v2"
5) "k4"
6) "v4"
求大小判断是否存在
| 标题 | |
|---|
hlen | 返回哈希表 key 中域的数量。 |
hexists | 检查给定域 field 是否存在于哈希表 hash 当中。返回值:HEXISTS 命令在给定域存在时返回 1 , 在给定域不存在时返回 0 。 |
hkeys | 返回哈希表 key 中的所有域。 |
hvals | 返回哈希表 key 中所有域的值。 |
127.0.0.1:6379> hgetall myhash
1) "k1"
2) "v1"
3) "k2"
4) "v2"
5) "k4"
6) "v4"
127.0.0.1:6379> hlen myhash
(integer) 3
127.0.0.1:6379> hexists myhash k4
(integer) 1
127.0.0.1:6379> hexists myhash k3
(integer) 0
127.0.0.1:6379> hkeys myhash
1) "k1"
2) "k2"
3) "k4"
127.0.0.1:6379> hvals myhash
1) "v1"
2) "v2"
3) "v4"