【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

时间:2023-03-08 16:45:54
【Redis】命令学习笔记——哈希(hash)(15个超全字典版)

本篇基于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个超全字典版)