第七章 Redis的事务
1.redis多数据库:
一个redis可以有多个数据库,可以选择连接不同的数据库,如select 1 连接1号数据库
Move myset 1 从默认数据库移动至1号数据库
2.事务
事务机制,multi exec discard
事务中所有命令串行化顺序执行,执行期间,不会为其他客户端提供任何服务,保证了原子操作。某一命令执行失败,后边的命令依然会被执行。
Multi来开启一个事务,认为是mysql里的aaa,这个命令执行之后,之后执行的命令都被视为是事务里的相关操作。
Exec相当于提交。
Discard相当于回滚。
Multi:开启事务,将后边执行的命令放入命令队列当中,直到执行exec,之后就原子化地执行。
Exec相当于comii
Discard相当于roll back?
实际测试
打开多个窗口,开启两个客户端
A窗口:Set num 1
B窗口:Incr num
A:multi //开启事务
Incr num
Incr num
B:get num #依然没有变化
A:exec #提交事务
B:数据发生变化
A:set user tom
A:multi
A:set user jerry
A:discard #发现回滚回了tom