-- KEYS: [1]key
-- ARGV: [1]lockId [2]expireMS

if redis.call("exists",KEYS[1]) == 0 or redis.call("get",KEYS[1]) == ARGV[1] then
    if(ARGV[2] == "-1") then
        redis.call("set",KEYS[1],ARGV[1])
    else
        redis.call("set",KEYS[1],ARGV[1],"px",ARGV[2])
    end
    return 1
else
    return 0
end
