У меня есть следующая установка:
- 2 разные структуры данных: наборы, строки
- Они находятся в разных пространствах имен
*:collections:*
,*:resources:*
- Клиент об этом не знает, и я каждый раз пытаюсь получить оба пространства имен.
- На основе
exists
я решаю, какую структуру данных получить окончательно. - все вызовы Redis выполняются асинхронно (vert.x redis-mod)
Теперь мне нужно решить, выполнять ли это как сценарий lua или как отдельные команды.
Сценарий lua, который я придумал:
local path = KEYS[1]
local resourcesPrefix = ARGV[1]
local collectionsPrefix = ARGV[2]
if redis.call('exists',resourcesPrefix..path) == 1 then
return redis.call('get',resourcesPrefix..path)
elseif redis.call('exists',collectionsPrefix..path) == 1 then
return redis.call('smembers',collectionsPrefix..path)
else
return "notFound"
end
Есть ли плюсы и минусы для одиночных вызовов или скрипта lua?