code: async function uploadFiles(config, files, rev) {
    const client = await getRedisClient(config);
  
    const timestamp = new Date();
  
    // Store file under appropriate keys, e.g. 'app:<rev-number>'
    await Promise.all(
      Object.entries(files).map(([fileKey, fileContent]) => client.set(util.format(fileKey, rev), fileContent)),
    );
  
    // Store timestamp information under 'app-timestamp:<rev-number>'
    // so we can compare if we have newer version than latest major rev
    if (config.revTimestampKey) {
      await client.set(util.format(config.revTimestampKey, rev), timestamp);
    } else {
      gutil.log(
        gutil.colors.red(
          "Missing 'revTimestampKey' in config, unable to store rev timestamp.",
        ),
      );
    }
  
    // Store autor and timestamp info under metaKey, e.g. 'meta:<rev-number>'
    await client.set(
      util.format(config.metaKey, rev),
      'from ' + os.hostname() + ' on ' + timestamp,
    );
    await client.quit();
  }
docs: Deployment process tasks