理解幂等问题

什么是幂等

计算机和数据的专业术语,这里展开计算机中幂等的概念,编程中幂等操作的特点是一次执行与多次执行产生的影响相同。百度百科的解释是:幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的.更复杂的操作幂等保证是利用唯一交易号(流水号)实现。

数据库幂等

多次更新同一记录,数据库幂等产生一样的影响,但是数据库压力成倍增长,给线上DB带来意想不到的灾难,对于更新操作通常采用乐观锁的方式,就是版本号+1

update tbl_user where status='on', version=version+1 where id = 1 and version=1;

去重表

利用数据库表单的特性实现幂等操作,比如在表上建立唯一性索引,保证记录一旦执行完成,后续操作无法成功写入。

token机制

token使用的比较广泛,使用范围广,有不同的实现版本。核心思想是每次操作产生一个唯一性的凭证,就是token。一个token早操作的每个阶段都用一次执行权力,一旦执行完成,保存结果。多重复的请求,返回该结果即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容