状态机幂等
何为状态幂等?先了解何为幂等。幂等大家应该都知道。
在针对数据更新操作的幂等中,有一个实现方案是基于版本号的数据库乐观锁。
在账户记账业务中,我们通常会使用这种方式。
具体的姿势是下面的1、3两步(前提是表里有version):
[*]select包含version字段在内的当前数据记录
[*]执行业务逻辑处理
[*]在update数据时,设置version递增,并当前version作为更新条件。即:update record set version=version+1,col=#val# where version=#version#
有了这些知识,我们再来理解状态幂等,就比较容易了。数据状态就是数据的流转状态,并且每个流转都涉及到前置状态和目标状态。状态机幂等,就是在更新状态时,将前置状态作为update语句的where条件。
与版本号乐观锁相比,有所不同的是,使用状态机幂等,可以不用事先查询数据。只要程序中定义了状态流转规则(状态机),那么,在执行update操作时,直接加上前置状态条件即可。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]