说明

结果: key field value

redis hash put值能覆盖吗 redis hash key能重复吗_redis hash put值能覆盖吗

  • 整体无序,field不能重复
  • hash类型下的field只能存储字符串,不允许存储其他数据类型,不存在嵌套现象。如果数据未获取到,对应的值未nil
  • 每个hash可以存储2^32-1个键值对
  • hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash的设计初衷不是为存储大量对象而设计的,切记不可滥用,更不可以将hash作为对象列表使用
  • hgetall操作可以获取全部属性,如果内部field过多,遍历整体数据效率就会很低,有可能成为数据访问瓶颈.

HSET key field value

将哈希表 key 中的域 field 的值设为 value 。

如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。

如果域 field 已经存在于哈希表中,旧值将被覆盖。

redis hash put值能覆盖吗 redis hash key能重复吗_哈希_02

HSETNX key field value

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。

若域 field 已经存在,该操作无效。

redis hash put值能覆盖吗 redis hash key能重复吗_哈希_03

HGET key field

返回哈希表 key 中给定域 field 的值。

redis hash put值能覆盖吗 redis hash key能重复吗_Redis_04

HMSET key field value [field value …]

同时将多个 field-value (域-值)对设置到哈希表 key 中。

此命令会覆盖哈希表中已存在的域。

redis hash put值能覆盖吗 redis hash key能重复吗_redis hash put值能覆盖吗_05

HMGET key field [field …]

返回哈希表 key 中,一个或多个给定域的值。

如果给定的域不存在于哈希表,那么返回一个 nil 值。

redis hash put值能覆盖吗 redis hash key能重复吗_Redis数据类型_06

HGETALL key

返回哈希表 key 中,所有的域和值。

在返回值里,紧跟每个域名(field name)之后是域的值(value),所以返回值的长度是哈希表大小的两倍。

redis hash put值能覆盖吗 redis hash key能重复吗_哈希_07

HKEYS key

返回哈希表 key 中的所有域。

redis hash put值能覆盖吗 redis hash key能重复吗_Redis_08

HVALS key

返回哈希表 key 中所有域的值。

redis hash put值能覆盖吗 redis hash key能重复吗_Hash_09

HEXISTS key field

查看哈希表 key 中,给定域 field 是否存在。

redis hash put值能覆盖吗 redis hash key能重复吗_Hash_10

HLEN key

返回哈希表 key 中域的数量。

redis hash put值能覆盖吗 redis hash key能重复吗_哈希_11

HDEL key field [field …]

删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略。

redis hash put值能覆盖吗 redis hash key能重复吗_Redis_12

HINCRBY key field increment

为哈希表 key 中的域 field 的值加上增量 increment 。

增量也可以为负数,相当于对给定域进行减法操作。

如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。

如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。

redis hash put值能覆盖吗 redis hash key能重复吗_redis hash put值能覆盖吗_13

HINCRBYFLOAT key field increment

为哈希表 key 中的域 field 加上浮点数增量 increment 。

如果哈希表中没有域 field ,那么 HINCRBYFLOAT 会先将域 field 的值设为 0 ,然后再执行加法操作。

如果键 key 不存在,那么 HINCRBYFLOAT 会先创建一个哈希表,再创建域 field ,最后再执行加法操作。

redis hash put值能覆盖吗 redis hash key能重复吗_Redis_14