问题
将对象数组传递到 Lua 脚本的最佳实践是什么?有没有比将对象转换为 JSON 并cjson在脚本中解析它们更好的方法?
更多上下文
我有流式应用程序,它在 Redis 中保持状态。每秒我们会收到 5-100 个事件,所有操作都在单个事务中完成,以提高性能,如下所示:
RedisCommands<String, String> cmd = getOrCreateRedisClient();
cmd.multi();
for (Event event: listOfEvents) {
cmd.sadd("users", event.getUserId());
cmd.sadd("actions", event.getActionId());
cmd.incrbyfloat("users:" + event.getUserId(), event.getImpact());
}
cmd.exec();
现在我必须将此逻辑移动到 Lua 脚本中。我想将一组事件传递给 Lua 脚本而不是进行多达 100 个脚本调用(每个事件一个)也会更快。我对吗?将事件列表传递给 Lua 脚本的最佳方法是什么?