Redis事务
Redis事务 :一组命令的集合!顺序执行
一次性、顺序性、排他性
Redis单条命令保证原子性,但是事务不保证原子性!
Redis事务没有隔离级别的概念
redis事务
1.开启事务 multi
2.命令入队
3.执行事务 exec
正常执行事务
放弃事务
discard 里面的命令都不会执行
编译时异常:命令错误
则所有命令都不会执行
运行时异常: 则只有错误的语句失败,其他的成功
乐观锁
悲观锁 : 无论做什么都加锁
乐观锁 :认为什么时候都不会出现问题,所以不会加锁,更新数据时候判断在此期间是否有人修改这个数据
使用watch监视器 可以充当乐观锁(面试常问)
unwatch 取消监视器
如果事务执行失败,先取消锁,再加锁,用最新的值去执行事务 相当于自旋