Ano, LUA skript je nejlepším řešením v případě EVALSHA zavolejte:
- Pracujete s redis asynchronní. Takže
LUAvám pomůže snížit počet kódu a čitelnost kódu. LUAcase je rychlejší, protože snižuje síťovou komunikaci.
Myslím, že svůj kód můžete napsat pouze 2 příkazy. Nepotřebujete exists ve vašem kódu.
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"