状态机幂等
何为状态幂等?
先了解何为幂等。
幂等大家应该都知道。
在针对数据更新操作的幂等中,有一个实现方案是基于版本号的数据库乐观锁。
在账户记账业务中,我们通常会使用这种方式。
具体的姿势是下面2步(前提是表里有version):
- 查询数据,然后执行业务逻辑处理
- 执行完业务逻辑,在更新数据时,将数据中的version作为update语句的where条件
有了这些知识,我们再来理解状态幂等,就比较容易了。 数据状态就是数据的流转状态,并且每个流转都涉及到前置状态和目标状态。
状态机幂等,就是在更新状态时,将前置状态作为update语句的where条件。
与版本号乐观锁相比,有所不同的是,使用状态机幂等,可以不用事先查询数据。只要程序中定义了状态流转规则(状态机),那么,在执行update操作时,直接加上前置状态条件即可。
当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/p/18675797