Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
lua redis脚本中出现错误_Lua_Redis - Fatal编程技术网

lua redis脚本中出现错误

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

我正在尝试在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
但我得到了这个错误:

编译脚本(新函数)时出错:用户\脚本: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所说,你在最末端有一个额外的末端。

你有一个额外的
末端