1. Hash类型是String类型的field和value的映射表, 它特别适合存储对象。每个hash可以存储键值对(40多亿)。
2. 为哈希表中的字段赋值
2.1. 语法: hset key field value。
2.2. hset命令用于为哈希表中的字段赋值。如果哈希表不存在, 一个新的哈希表被创建并进行hset操作。如果字段已经存在于哈希表中, 旧值将被覆盖。
2.3. 如果字段是哈希表中的一个新建字段, 并且值设置成功, 返回1。如果哈希表中域字段已经存在且旧值已被新值覆盖, 返回0。
2.4. 实例
3. 获取哈希表中指定字段的值
3.1. 语法: hget key field。
3.2. hget命令用于返回哈希表中指定字段的值。
3.3. 返回给定字段的值。如果给定的字段或key不存在时, 返回nil。
3.4. 实例
4. 同时设置多个哈希表字段值
4.1. 语法: hmset key field1 value1 [field2 value2]。
4.2. hmset命令用于同时将多个field-value(字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在, 会创建一个空哈希表, 并执行hmset操作。
4.3. 如果命令执行成功, 返回OK。
4.4. 实例
5. 获取一个或多个给定字段的值
5.1. 语法: hmget key field1 [field2]。
5.2. hmget命令用于返回哈希表中一个或多个给定字段的值。如果指定的字段不存在于哈希表, 那么返回一个nil值。
5.3. 返回一个包含多个给定字段关联值的表, 表值的排列顺序和指定字段的请求顺序一样。
5.4. 实例
6. 获取哈希表中所有字段
6.1. 语法: hkeys key。
6.2. hkeys命令用于获取哈希表中的所有域(field)。
6.3. 返回一个包含哈希表中所有域(field)的列表。当key不存在时, 返回一个空列表。
6.4. 实例
7. 获取哈希表中所有值
7.1. 语法: hvals key。
7.2. hvals命令返回哈希表所有值。
7.3. 返回一个包含哈希表中所有值的列表。当key不存在时, 返回一个空列表。
7.4. 实例
8. 获取哈希表中字段的数量
8.1. 语法: hlen key。
8.2. hlen命令用于获取哈希表中字段的数量。
8.3. 返回哈希表中字段的数量。当key不存在时, 返回0。
8.4. 实例
9. 为哈希表中不存在的字段赋值
9.1. 语法: hsetnx key field value。
9.2. hsetnx命令用于为哈希表中不存在的字段赋值。如果哈希表不存在, 一个新的哈希表被创建并进行hset操作。如果字段已经存在于哈希表中, 操作无效。
9.3. 设置成功, 返回1。如果给定字段已经存, 没有操作被执行, 返回0。
9.4. 实例
10. 查看哈希表指定的字段是否存在
10.1. 语法: hexists key field。
10.2. hexists命令用于查看哈希表的指定字段是否存在。
10.3. 如果哈希表含有给定字段, 返回1。如果哈希表不含有给定字段或key不存在, 返回0。
10.4. 实例
11. 获取哈希表所有的字段和值
11.1. 语法: hgetall key。
11.2. hgetall命令用于返回哈希表中所有的字段和值。在返回值里, 紧跟每个字段名(field name)之后是字段的值(value), 所以返回值的长度是哈希表大小的两倍。
11.3. 返回以列表形式返回哈希表的字段及字段值。若key不存在, 返回空列表。
11.4. 实例
12. 为哈希表中整数值加上增量
12.1. 语法: hincrby key field increment。
12.2. hincrby命令用于为哈希表中的字段值加上指定增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果哈希表的key不存在, 一个新的哈希表被创建并执行hincrby命令。如果指定的字段不存在, 那么在执行命令前, 字段的值被初始化为0。对一个储存字符串值的字段执行hincrby命令将造成一个错误。本操作的值被限制在64位(bit)有符号数字表示之内。
12.3. 返回执行hincrby命令之后, 哈希表中字段的值。
12.4. 实例
13. 为哈希表中浮点数值加上增量
13.1. 语法: hincrbyfloat key field increment。
13.2. hincrbyfloat命令用于为哈希表中的字段值加上指定浮点数增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果哈希表的key不存在, 一个新的哈希表被创建并执行hincrbyfloat命令。如果指定的字段不存在, 那么在执行命令前, 字段的值被初始化为0。对一个储存字符串值的字段执行hincrby命令将造成一个错误。
13.3. 返回执行hincrbyfloat命令之后, 哈希表中字段的值。
13.4. 实例
14. 删除一个或多个哈希表字段
14.1. 语法: hdel key field1 [field2]。
14.2. hdel命令用于删除哈希表key中的一个或多个指定字段, 不存在的字段将被忽略。
14.3. 返回被成功删除字段的数量, 不包括被忽略的字段。
14.4. 实例