1
绝对新lua ..刚刚开始1小时前:)。我想要生成randomid并确保在redis中不存在具有相同ID的密钥。所以我必须在Lua写下面的代码独特的随机密钥redis lua脚本
local get_random_id
get_random_id = function(id)
local id_exists = redis.call("EXISTS", id)
if id_exists == 0 then
return id
end
local newid = randomstring(3)
get_random_id(newid)
end
local id = randomstring(3)
local existingid = "abc"
return get_event_id(existingid)
如果我通过它不存在于它返回我一个新的随机密钥Redis的关键,这工作正常。但是,如果redis中存在密钥,则返回零。
更多信息:我MONITOR Redis的,发现脚本生成的随机字符串和Redis的检查,但不知它返回nil
感谢您的回复,但是如果我将回报放在那里,如果这个数字在redis中也存在?我认为我搞乱了代码的地方..我想要它产生一个随机数并检查存在于redis,直到我得到一个不存在的数字 –
并顺便说一句,如果我改变函数本地函数get_random_id(id)它会产生错误“脚本试图访问未知的全局变量”作为redis解释器无法访问全局变量 –
放弃我的第一条评论..可能是我正在睡觉..谢谢你的回应..它的作品:) –