对 lua 来说绝对是新手.. 1 小时前才开始 :) 。我想生成 randomid 并确保 redis 中不存在具有相同 id 的密钥。所以我在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 中,它返回我为零。
更多信息:我监控 redis 并发现脚本正在生成随机字符串并签入 redis 但不知何故它返回 nil