1. HINCRBY key field increment
起始版本:2.0.0
时间复杂度:O(1)
为哈希表 key 中的域 field 的值加上增量 increment 。
增量也可以为负数,相当于对给定域进行减法操作。
如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。
如果域 field 不存在,那么在执行命令前,域的值被初始化为 0 。
对一个储存字符串值的域 field 执行 HINCRBY 命令将造成一个错误。
本操作的值被限制在 64 位(bit)有符号数字表示之内。
1.1. 返回值
执行 HINCRBY 命令之后,哈希表 key 中域 field 的值。
1.2. demo
# 如果指定的key不存在,先创建一个hash表,再执行HINCRBY操作
127.0.0.1:6380> EXISTS user:13
(integer) 0
127.0.0.1:6380> HINCRBY user:13 count 12
(integer) 12
127.0.0.1:6380> HGET user:13 count
"12"
# 如果指定的field不存在,先赋值为0,再做加法
127.0.0.1:6380> HEXISTS user:13 id
(integer) 0
127.0.0.1:6380> HINCRBY user:13 id 13
(integer) 13
127.0.0.1:6380> HGET user:13 id
"13"
# 如果指定的field的值不是整数类型,返回一个错误
127.0.0.1:6380> HSET user:13 name user13
(integer) 1
127.0.0.1:6380> HINCRBY user:13 name 1
(error) ERR hash value is not an integer
# 如果指定的key不是hash类型,返回错误
127.0.0.1:6380> set key13 v13
OK
127.0.0.1:6380> HINCRBY key13 id 13
(error) WRONGTYPE Operation against a key holding the wrong kind of value