Sim,
LUA script é a melhor solução no caso de EVALSHA ligar:- Você está trabalhando com redis assíncrona. Então
LUAajuda a reduzir o número de código e a legibilidade do código. LUAcase é mais rápido porque reduz a comunicação da rede.
Eu acho que você pode escrever seu código com apenas 2 comandos. Você não precisa
exists em seu código. 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"