Time complexity: Depends on commands in the transaction
ACL categories: @slow, @transaction
Executes all previously queued commands in a transaction and restores the connection state to normal.
EXEC will execute commands only if the watched keys were
not modified, allowing for a check-and-set mechanism.
Array reply: each element being the reply to each of the commands in the atomic transaction.
EXEC can return a Null reply if the execution was aborted.