eval
至少需要两个参数;脚本以及要传递给脚本的键数。在这种情况下,您要传递零键,这意味着可以按以下方式调用脚本:redis-cli eval "$(cat sum.lua)" 0
要么:
redis-cli --eval sum.lua
您迭代返回值的循环结构
KEYS
不正确;我已经为您修复了。您需要
GET
使用Luatonumber
函数将字符串返回的值转换为数字。
完成上述更改后,以下脚本将为您工作:
local sum = 0local matches = redis.call('KEYS', 'carlos:*')for _,key in ipairs(matches) do local val = redis.call('GET', key) sum = sum + tonumber(val)endreturn sum
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)