Ja, LUA
script er den bedste løsning i tilfælde af EVALSHA
ring:
- Du arbejder med redis asynkron. Så
LUA
hjælper dig med at reducere antallet af kode og kodelæsbarhed. LUA
sagen er hurtigere på grund af reduceret netværkskommunikation.
Jeg tror, du kan skrive din kode med kun 2 kommandoer. Du behøver ikke exists
i din kode.
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"