第六章、redis事务
1、是什么
1、是一组命令的集合
2、一个事务里面,所有指令都会被串行,按顺序执行,不会被其他打断(就是开车不允许加塞)
2、能干嘛
1、一个队列、一次性、顺序性、排他性的执行一系列命令
3、数据库的事务和redis事务的区别

1、redis是单线程
2、不保证原子性
4、怎么玩
1、基本命令
1、4个基本命令

2、执行
1、正常执行
1、multi
2、exec
3、例子

2、正常放弃事务
1、multi
2、discard
3、例子

3、❗全体连坐
1、就是multi开始,如果在里面添加的指令有问题(编译问题)就直接终止,全部都别玩了

4、冤有头债有主
1、就是multi开始,指令都没问题(运行时错误,像乱添加类型),这样其他都会执行,就只有那个有问题的,会终止
2、例子

5、补充
1、自增
incr xxxx键
3、监控
1、有乐观锁和悲观锁
2、乐观:我认为每次我要用,都没人和我抢
3、悲观:我认为每次我要用,都有人和我抢,所以我要加锁
1、命令
1、watch:开启
- 如果我在加入一个值的时候,有另外一个进程修改了,我就认为失败。
2、unwatch:取消
3、例子
- 如果我监控着的值,有人要改,就会返回null,来认为是错误的!

2、总结
1、一旦执行了exec,之前加的监控就没了
2、如果连接丢失,所有监控都没了
5、总结
