--[[******************************************************************************]] --[[* Project ib_win_core *]] --[[* Copyright 2023 Incredibuild Software Ltd. *]] --[[* All rights reserved *]] --[[******************************************************************************]] local function get_valid_items_usage_time(keys, vals) local result = {} for i = 1, #keys do result[i] = redis.call('HGET', keys[i], vals[i]) or 0 if result[i] ~= 0 then redis.call('HSET', keys[i], vals[i], 1) end end return result end local function build_response(result) return #result..'\n'..table.concat(result, '\n') end local function main(initDB, keys, vals) assert(#vals == #keys) redis.call('SELECT', initDB) return build_response(get_valid_items_usage_time(keys, vals)) end return main(ARGV[1], KEYS, { unpack(ARGV, 2) })