Please refer to this thread for reference:
redis lua script vs. single calls
How does calling redis from inside lua script lead to reduced network communication. How's it different from making redis calls from inside our application ?
Since we're working with redis asynchronous, does this mean, once we've made call to redis.call(), it'll not wait for the result and straightway move to the next line ? If yes, then what if the value returned from redis.call() is used just below it and redis is still processing the redis.call() command?