########Redis基础篇之事务
1. redis单条命令是保证原子性的,但是事务不保证原子性
2. redis事务没有隔离级别的概念
3. redis的事务
1>开启事务
2>命令入队
3>执行事务
4. multi //开启事务
5. set k1 v1 //放入队列
6. exec //执行事务
7. discard //取消事务
8. 编译型异常,事务不会执行
9. 运行时异常,其他命令会正常执行
10. 乐观锁--认为什么时候都不会出现问题,所以不加锁,更新数据的时候去判断一下,在此期间,是否有人修改过这个数据。
11. 获取version
12.更新的时候比较version
13. set money 100
watch money //监听要在事务之前添加
multi //开启事务
decrby money 20 //减去20
**如果该事务提交之前,其他用户对money 有修改操作,该事务会执行失败,返回nil
exec //执行事务
14. unwatch //如果事务执行失败,则取消监听,重复执行操作