Да, LUA скриптът е най-доброто решение в случай на EVALSHA обадете се:
- Работите с redis асинхронно. Така че
LUAви помага да намалите броя на кода и четливостта на кода. LUAслучаят е по-бърз поради намаляване на мрежовата комуникация.
Мисля, че можете да напишете своя код само с 2 команди. Не е необходимо exists във вашия код.
local path = KEYS[1]
local resourcesPrefix = ARGV[1]
local collectionsPrefix = ARGV[2]
local ret
set ret = redis.call('get',resourcesPrefix..path)
if ret then
return ret
end
set ret = redis.call('smembers',collectionsPrefix..path)
if ret then
return ret
end
return "notFound"