将可变数量的参数传递给Redis Lua脚本

时间:2019-03-23 11:34:21

标签: redis lua

我正在使用EVAL将几个参数传递给我的Lua脚本。但是,最后一个参数是可选的,它可能会或可能不会传递给EVAL

如何检查Redis Lua脚本中是否存在自变量?例如,是否存在ARGV[3]

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

    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