Redis:ERR哈希值不是整数

时间:2018-09-24 09:25:15

标签: node.js redis

有时我在尝试增加哈希字段中的值时遇到以下错误。

{ ReplyError: ERR hash value is not an integer
at parseError (/opt/node-app/node_modules/redis-parser/lib/parser.js:193:12)
at parseType (/opt/node-app/node_modules/redis-parser/lib/parser.js:303:14)
command: 'HINCRBY',
args: [ 'users:5b0598cd2f197a557e13e9d5', 'nTotalChips', 700 ],
code: 'ERR' }

我的代码如下:

redisClient.hincrby("users:5b0598cd2f197a557e13e9d5", "nTotalChips", 700, function(err, nTotalChips) {
    //some other logic        
});

通过读取这是由于序列化导致的错误,我得到了一些提示,但是我没有得到确切的位置,因为此错误并非一直产生。

1 个答案:

答案 0 :(得分:2)

  

ERR哈希值不是整数

当您尝试增加不是整数的哈希字段时,这是一个错误。

127.0.0.1:6379> hset hash field 1
(integer) 0
127.0.0.1:6379> hincrby hash field 2            // OK
(integer) 3
127.0.0.1:6379> hset hash field string-value
(integer) 0
127.0.0.1:6379> hincrby hash field 2            // ERROR
(error) ERR hash value is not an integer

似乎其他一些客户端将哈希字段更改为字符串值。