我是靠谱客的博主 秀丽小天鹅,最近开发中收集的这篇文章主要介绍node.js在Redis中执行LUA脚本报错:ERR value is not an integer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

(error) ERR value is not an integer or out of range
这个错误的原因在于调用是没有制定参数的个数,所以出现解析参数个数时出现范围问题.

假设调用一个脚本,一个参数:

#redis-cli evalsha 643ae8e4fa979df58a8cd2f6ab4d46f3e16ace5e 0x61c808d82a3ac53231750dadc13c777b59310bd9 "{"balance":"5000000000000000000","txs":0,"flag":0,"type":0}"
(error) ERR value is not an integer or out of range

// 如下方式调用正常,注意hash脚本后面的**1**表示一个参数
redis-cli evalsha 643ae8e4fa979df58a8cd2f6ab4d46f3e16ace5e 1 0x61c808d82a3ac53231750dadc13c777b59310bd9 "{"balance":"5000000000000000000","txs":0,"flag":0,"type":0}"

node.js调用如下:

redisCli.evalsha([self.config.addressLuaHash, 1, contractAddr, JSON.stringify(addr)], function(err){
    if (logger.isTraceEnabled){
        logger.trace("save address account to redis:", addr);
    }
    callback(err);
});

最后

以上就是秀丽小天鹅为你收集整理的node.js在Redis中执行LUA脚本报错:ERR value is not an integer的全部内容,希望文章能够帮你解决node.js在Redis中执行LUA脚本报错:ERR value is not an integer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部