gpt4 book ai didi

node.js - 错误 : ERR value is not an integer or out of range from redis. 调用 ('zcard' ,'myzset' ) 在 LUA 脚本中

转载 作者:IT王子 更新时间:2023-10-29 06:08:40 28 4
gpt4 key购买 nike

我在从 node.js 运行的 lua 脚本中有这段代码。

local stats = {};
stats['orders'] = redis.call('zcard','jobs');

return cjson.encode(stats)

这会返回错误:

Error: ERR value is not an integer or out of range

但是,当我从 CLI 运行 zcard jobs 时,会返回一个整数。

最佳答案

您的 Lua 脚本运行良好。扔掉分号,它是 Lua ;)。

测试:

redis-cli -p 14130 eval "local stats = {} \
stats['orders'] = redis.call('zcard','azbp.d') \
return cjson.encode(stats)" 0

结果:

"{\"orders\":10424}"

我的猜测是,您的客户端调用无效。传递给 EVALEVALSHA 的第一个参数应该是参数的数量。在此示例中,您必须传递 0。当然只是猜测。

希望这有帮助,TW

关于node.js - 错误 : ERR value is not an integer or out of range from redis. 调用 ('zcard' ,'myzset' ) 在 LUA 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22314460/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com