Redis HINCRBY 命令为哈希表 key 中的域 field 的值加上增量 increment。增量也可以为负数,相当于对指定域进行减法操作。
命令格式
HINCRBY key field increment
可用版本:>=2.0.0
时间复杂度:O(1)
如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。如果域 field 不存在,那么在执行命令前,域的值被初始化为 0。
对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。
HINCRBY 操作的值被限制在 64 位有符号数字表示之内。
命令返回值
HINCRBY 命令返回执行命令之后哈希表 key 中域 field 的值。
示例
redis> HSET myhash field1 188
(integer) 1
redis> HINCRBY myhash field1 811
(integer) 999
redis> HINCRBY myhash field1 -811
(integer) 188
redis> HSET myhash field2 jav
(integer) 1
redis> HINCRBY myhash field2 1 # HINCRBY指定的域值为非整数时,会返回一个错误
(error) ERR hash value is not an integer