Передача переменного числа аргументов скрипту Redis Lua

#redis #lua

#redis #lua

Вопрос:

Я использую EVAL для передачи нескольких аргументов моему скрипту Lua. Однако последний аргумент является необязательным, он может быть передан, а может и не быть передан EVAL .

Как я могу проверить в скрипте Redis Lua, есть ли аргумент или нет? Например, существует ли ARGV[3] или нет.

Ответ №1:

 if ARGV[3] then
    -- user pass in ARGV[3]
else
    -- No ARGV[3]
end
  

Ответ №2:

     redis.call('DEL', KEYS[1])
    local members = {}
    for i = 0, tonumber(ARGV[1]), 1 do
        members[i] = ARGV[1 i]
    end
    redis.call('SADD', KEYS[1], unpack(members))
    return 1