事务性质:
一次性
顺序性
排他性
Redis单条命令存在原子性,事务不存在原子性
Redis事务不存在隔离级别
事务执行顺序:
开启事务
multi
命令入队
执行事务
exec
取消事务,事务队列中的命令都不会被执行
discard
错误情况
编译错误:命令出错,事务中的所有命令都不会被执行
运行错误:命令存在语法性错误,错误命令抛出异常,其他命令正常执行
悲观锁
认为都会出问题,什么时候都加锁
乐观锁
认为什么时候都不会出问题,什么时候都不会加锁,更新时判断,是否有人操作数据
Redis实现乐观锁
正常情况下,开启乐观锁监控执行成功
在开启锁的情况下,改动监控的属性值,执行失败
执行失败后,可以使用 unwatch 解除监控,再次执行操作
原文:https://www.cnblogs.com/LittleSkinny/p/13696866.html