Hash型Value操作命令

redis存储数据的value可以是一个hash类型,Hash类型也称为Hash表,字典等。
hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。

hset

hset key field value

功能:将哈希表key中的域field的值设为value

说明:如果key不存在,一个新的哈希表被创建并进行hset操作。如果域field已经存在与哈希表中,旧值将被覆盖。如果field是哈希表中的一个新建域,并且值设置成功,返回1.如果哈希值中域field已经存在且旧值已被新值覆盖,返回0.

lua hash和数组 hash values_字段

hget

hget key field

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

说明:当给定域不存在或是给定key不存在时,返回nil。

lua hash和数组 hash values_hg_02

hmset

hmset key field

功能: 同时将多个 field-value (域-值)对设置到哈希表 key 中。
理解,不经常使用,可用hset。

hmget

hmget key field1 [field2]

功能:返回哈希表key中所有给定域field的值。

lua hash和数组 hash values_数据库_03

hgetall

hgetall key

功能:返回在哈希表中指定 key 的所有字段和值

lua hash和数组 hash values_字段_04

hsetnx

hsetnx key field value

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

说明:若域field已经存在,该操作无效。如果key不存在,一个新哈希表被创建并执行hsetnx命令。

lua hash和数组 hash values_字段_05

hdel

hdel key field [field1…]

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

说明:返回被成功移除的域的数量,不包括被忽略的域。

lua hash和数组 hash values_字段_06

hexists

hexists key field

功能:查看哈希表 key 中,指定的字段是否存在。

说明:如果哈希表含有给定域,返回1,如果不含有给定域,或key不存在,返回0。

lua hash和数组 hash values_hg_07

hincrby

hincrby key field increment

功能:为哈希表 key 中的指定字段的整数值加上增量 increment 。

hincrbyfloat

hincrbyfloat key field increment

功能:为哈希表 key 中的指定字段的浮点数值加上增量 increment 。

lua hash和数组 hash values_hg_08

hkeys/hlen

hkeys/hlen key

功能:返回哈希表中的所有域(field)/返回哈希表中的所有域(field)

说明:hlen:当key不存在时,返回0。

lua hash和数组 hash values_redis_09

hstrlen

hstrlen key field

功能:返回哈希表key中,与给定域field相关联的值的字符串长度(string length)。

说明:如果给定的域或者键不存在,那么命令返回0。

lua hash和数组 hash values_数据库_10