lua redis脚本中出现错误
我正在尝试在redis中运行以下lua脚本:lua redis脚本中出现错误,lua,redis,Lua,Redis,我正在尝试在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
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
但我得到了这个错误:
编译脚本(新函数)时出错:用户\脚本:20:“”应接近“结束”
我正在尝试移动这一端,制表,但我无法让它工作,对不起,如果这是一个愚蠢的问题,我真的是在这个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所说,你在最末端有一个额外的末端。你有一个额外的
末端