11
我正在构建我的第一个Redis服务器端脚本(,用于调试),而且我缺乏Lua经验让我非常困惑。Redis的Lua脚本总结了密钥的值
基本上有一个K/V对(包含〜1000个值)的数据集,我想从中列出所有匹配模式的KEYS。例如在redis-cli中:
> KEYS "carlos:*"
1) "carlos:1"
2) "carlos:2"
3) "carlos:3"
4) "carlos:4"
基于上面的输出,我想通过执行一个Lua脚本返回这些键的总和。 〜#Redis的-CLI EVAL“$:目前我已经在我的sum.lua
local sum = 0
local matches = redis.call('KEYS', 'carlos:*')
for unpack(matches)
sum = sum + redis.call('GET', matches)
end
return sum
虽然上面的脚本可能不正确,甚至redis.call('KEYS', 'carlos:*')
通过自身努力产生以下错误
根@卡洛斯以下(猫sum.lua)”
(错误)错误的 'EVAL' 命令
I H错误的参数个数ave尝试了一些我的语法迭代无济于事。有任何想法吗?
由于
注意,这将永远缓存脚本在Redis的,所以你应该正常使用ARGV来传递参数,而不是硬编码像'carlos:*'这样的参数。 – CherryDT