Redis transactions allow the execution of a group of commands in a single step. Following are the two properties of Transactions.
All commands in a transaction are sequentially executed as a single isolated operation. It is not possible that a request issued by another client is served in the middle of the execution of a Redis transaction.
Redis transaction is also atomic. Atomic means either all of the commands or none are processed.
Redis transaction is initiated by command MULTI and then you need to pass a list of commands that should be executed in the transaction, after which the entire transaction is executed by EXEC command.
redis 127.0.0.1:6379> MULTI OK List of commands here redis 127.0.0.1:6379> EXEC
Following example explains how Redis transaction can be initiated and executed.
redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET tutorial redis QUEUED redis 127.0.0.1:6379> GET tutorial QUEUED redis 127.0.0.1:6379> INCR visitors QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) "redis" 3) (integer) 1
Following table shows some basic commands related to Redis transactions.
Sr.No | Command & Description |
---|---|
1 | DISCARD
Discards all commands issued after MULTI |
2 | EXEC
Executes all commands issued after MULTI |
3 | MULTI
Marks the start of a transaction block |
4 | UNWATCH
Forgets about all watched keys |
5 | WATCH key [key ...]
Watches the given keys to determine the execution of the MULTI/EXEC block |