redis 事务
- 事务是一个单独的隔离操作
事务中的所有命令都会序列化、按顺序地执行 事务在执行的过程中,不会被其他客户端发送来的命令请求所打断
- 事务是一个原子操作
事务中的命令要么全部被执行,要么全部都不执行
redis 事务执行过程
一个事务从开始到执行会经历以下三个阶段:
- 开始事务,使用
multi
命令 - 命令入队
- 执行事务,使用
exec
命令
示例
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set website "www.hardy.com"
QUEUED
127.0.0.1:6379> get website
QUEUED
127.0.0.1:6379> sadd lesson "PHP" "HTML" "Python" "JavaScript"
QUEUED
127.0.0.1:6379> smembers lesson
QUEUED
127.0.0.1:6379> exec
1) OK
2) "www.hardy.com"
3) (integer) 4
4) 1) "JavaScript"
2) "Python"
3) "HTML"
4) "PHP"
127.0.0.1:6379>