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

1.3. 参考

Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""