Sì, LUA
script è la soluzione migliore in caso di EVALSHA
chiama:
- Stai lavorando con redis asincrono. Quindi
LUA
ti aiuta a ridurre il numero di codice e la leggibilità del codice. LUA
caso è più veloce perché riduce la comunicazione di rete.
Penso che tu possa scrivere il tuo codice con solo 2 comandi. Non hai bisogno di exists
nel tuo codice.
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"