本篇基于redis 4.0.11版本,学习哈希(hash)相关命令。
hash 是一个string类型的field和value的映射表,特别适合用于存储对象。
序号 | 命令 | 描述 | 实例 | 返回 |
HSET key field value | 将哈希表 key 中的字段 field 的值设为 value 。如果有值会覆盖。 | HSET myhash field1 "foo1" | (integer) 1 | |
2 | HDEL key field1 [field2] | 删除一个或多个哈希表字段 | 删除键为myhash哈希表中field1的值:hdel myhash field1 | 成功:(integer) 1 失败:(integer) 0 |
HEXISTS key field | 查看哈希表 key 中,指定的字段是否存在。 | 判断键为myhash哈希表中field1是否存在:HEXISTS myhash field1 | 存在:(integer) 1 不存在:(integer) 0 |
|
HGET key field | 获取存储在哈希表中指定字段的值。 | 获取myhash哈希表中field1的值:HGET myhash field1 | "foo1" | |
HGETALL key | 获取在哈希表中指定 key 的所有字段和值 | 获取myhash哈希表中的所有值:HGETALL myhash | 1) "field1" 2) "foo1" 3) "field2" 4) "foo2" 5) "field3" 6) "foo3" |
|
HINCRBY key field increment | 为哈希表 key 中的指定字段的整数值加上增量 increment 。 | 为myhash2哈希表中int1值减10:hincrby myhash2 int1 -10 | (integer) 90 | |
HINCRBYFLOAT key field increment | 为哈希表 key 中的指定字段的浮点数值加上增量 increment 。 | 为myhash2哈希表中float值减10:hincrbyfloat myhash2 float 2.2 | "3.3" | |
HKEYS key | 获取所有哈希表中的字段 | 获取myhash2表中所有值:hkeys myhash2 | 1) "int1" 2) "float" |
|
HLEN key | 获取哈希表中字段的数量 | 获取myhash2中字段数量:hlen myhash2 | (integer) 2 | |
HMGET key field1 [field2] | 获取所有给定字段的值 | 获取所有给定字段的值:hmget myhash field2 field7 | 1) "foo2" 2) (nil) |
|
HMSET key field1 value1 [field2 value2 ] | 同时将多个 field-value (域-值)对设置到哈希表 key 中。 | hmset myhash2 fi1 100 fi2 200 | OK | |
HSETNX key field value | 只有在字段 field 不存在时,设置哈希表字段的值。 | hsetnx myhash2 fi3 300 | (integer) 1 | |
HVALS key | 获取哈希表中所有值 | 获取myhash2哈希表中所有值:hvals myhash2 | 1) "90" 2) "3.3" 3) "100" |
|
14 | HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的键值对。 | hscan myhash 0 | 1) "0" 2) 1) "field1" 2) "foo1" 3) "field2" 4) "foo2" 5) "field3" 6) "foo3" |
HSTRLEN key field | 返回哈希表key中,与给定域field相关联的值的字符串长度(string length) | 获取myhash哈希表中field1域值长度:hstrlen myhash field1 |
(integer) 4 |
详见:Redis官方文档
上一篇:【Redis】命令学习笔记——字符串(String)(23个超全字典版)
下一篇:【Redis】命令学习笔记——列表(list)+集合(set)+有序集合(sorted set)(17+15+20个超全字典版)