Redis Transactions

Atomic operations and transactions

Basic Transaction

MULTI # start transaction
SET key1 'value1'
SET key2 'value2'
EXEC # execute transaction

Discard Transaction

MULTI
SET key 'value'
DISCARD # cancel transaction

Watch Keys

WATCH key1 key2 # watch keys for changes
MULTI
SET key1 'value'
EXEC # fails if watched keys changed
UNWATCH # unwatch all keys

Optimistic Locking

WATCH balance
GET balance
// calculate new balance
MULTI
SET balance 1500
EXEC # only if balance unchanged