Shirly’s Blog (andremouche.github.io)
有段描述:
读取过程如下:
- 读取 key 时,若发现没有冲突的锁,则返回对应值,结束。
- 若发现了锁,且当前锁对应的 key 为
primary
: 若锁尚未超时,等待。若锁已超时,Rollback 它并获取上一版本信息返回,结束。 - 若发现了锁,且当前锁对应的
key
为secondary
, 则根据其锁里指定的primary
找到primary
所在信息,根据primary
的状态决定当前事务是否提交成功,返回对应具体值。