Redis HINCRBY命令用于增长存储在字段中存储由增量键哈希的数量。若是键不存在,新的key被哈希建立。若是字段不存在,值被设置为0以前进行操做。html
回复整数,字段的增值操做后的值。python
redis HINCRBY命令的基本语法以下所示:redis
redis 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER
redis 127.0.0.1:6379> HSET myhash field1 20 (integer) 1 redis 127.0.0.1:6379> HINCRBY myhash field 1 (integer) 21 redis 127.0.0.1:6379> HINCRBY myhash field -1 (integer) 20
HINCRBY key field incrementhtm
为哈希表 key 中的域 field 的值加上增量 increment 。rem
增量也能够为负数,至关于对给定域进行减法操做。字符串
若是 key 不存在,一个新的哈希表被建立并执行 HINCRBY 命令。get
若是域 field 不存在,那么在执行命令前,域的值被初始化为 0 。string
对一个储存字符串值的域 field 执行 HINCRBY 命令将形成一个错误。hash
本操做的值被限制在 64 位(bit)有符号数字表示以内。it
# increment 为正数
redis> HEXISTS counter page_view # 对空域进行设置
(integer) 0
redis> HINCRBY counter page_view 200
(integer) 200
redis> HGET counter page_view
"200"
# increment 为负数
redis> HGET counter page_view
"200"
redis> HINCRBY counter page_view -50
(integer) 150
redis> HGET counter page_view
"150"
# 尝试对字符串值的域执行HINCRBY命令
redis> HSET myhash string hello,world # 设定一个字符串值
(integer) 1
redis> HGET myhash string
"hello,world"
redis> HINCRBY myhash string 1 # 命令执行失败,错误。
(error) ERR hash value is not an integer
redis> HGET myhash string # 原值不变
"hello,world"