gpt4 book ai didi

lua - lua-redis脚本出错

转载 作者:可可西里 更新时间:2023-11-01 11:13:51 25 4
gpt4 key购买 nike

我正在尝试在 redis 中运行以下 lua 脚本:

for j=0,5000 do
local i=redis.pcall('incr', 'SS:'..ARGV[2])%5000
if redis.pcall('sismember', 'S:', i)==0 then
if i > 4999 then
redis.pcall('set', "SS:"..ARGV[2], 1)
i = 1
end
end
if redis.pcall('get', 'SS:'..ARGV[2])>4 then
return 'forbiden'
end
redis.pcall('incr', 'C:'..ARGV[1])
redis.pcall('sadd', 'US:'..ARGV[2], ARGV[1]..':'..i)
redis.pcall('sadd', 'U:'..ARGV[1], ARGV[2]..':'..i)
redis.pcall('sadd', 'S:'..ARGV[2], i)
return i
end
end
return false

但是我收到这个错误:

Error compiling script (new function): user_script:20: '' expected near 'end'

我正在尝试移动到这一步,表格,但我无法让它工作,抱歉,如果这是一个愚蠢的问题,我真的是这个 lua 的新手!

最佳答案

工作:

for j=0,5000 do
local i=redis.pcall('incr', 'SS:'..ARGV[2])%5000
if redis.pcall('sismember', 'S:', i)==0 then
if i > 4999 then
redis.pcall('set', "SS:"..ARGV[2], 1)
i = 1
end
end
if redis.pcall('get', 'SS:'..ARGV[2])>4 then
return 'forbiden'
end
redis.pcall('incr', 'C:'..ARGV[1])
redis.pcall('sadd', 'US:'..ARGV[2], ARGV[1]..':'..i)
redis.pcall('sadd', 'U:'..ARGV[1], ARGV[2]..':'..i)
redis.pcall('sadd', 'S:'..ARGV[2], i)
return i
end
return false

正如@karthikr 所说,你在最后有一个额外的结局。

关于lua - lua-redis脚本出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17176288/

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