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解釋器無法訪問全局變量 –
放棄我的第一條評論..可能是我正在睡覺..謝謝你的迴應..它的作品:) –