Я использую сценарий lua для получения результата ZINTERSTORE
. То, что я хочу, чтобы быть в состоянии дать Lua динамического ряда zsets в вызове, что:Redis Lua: динамическое число клавиш в вызове redis
redis.pcall('ZINTERSTORE', result, n, keys[1], keys[2], keys[3], keys[4], keys[5], 'AGGREGATE', 'MAX')
становится чем-то вроде:
redis.pcall('ZINTERSTORE', result, n, dynamic_key_list, 'AGGREGATE', 'MAX')
table.getn
функция Lua в позволяет мне получить размер n
. Проблема здесь в том, что если dynamic_key_list
список, то Redis плачет громко и рано с:
Lua redis() command arguments must be strings or integers
Я видел this возможное решение, но я не хочу итерацию над столом и делают Redis звонить каждый раз , так как я мог бы иметь 10-15 ключей, и это накладные расходы, которые я не могу себе позволить. Есть ли другой способ?