幂等性

什么是幂等?

在数学上简单来说数s与自身运算还是自己,那么称这个数具备幂等性。

在软件领域,在相同入参下重复调用某接口,结果不会因为次数的变动而改变,称此接口具备幂等性。


幂等性的实现方式?

中心思想:根据业务情况排除重复操作对数据的影响。

1、借助全局唯一标识

例如token,uuid等,进行判断如果有记录则不处理,无记录则处理并记录。适合增,删,改,复合场景等

2、借助业务主键

根据业务主键有无进行判断。将业务主键单独记录某数据表,并设置主键不可自增,接口访问时插入数据,如果失败则证明存在,如果成功则证明不存在。适合增,改,复合场景等。

3、借助数据库主键

适合删除场景。利用主键进行删除而不是通过其他模糊条件。

4、借助乐观锁

适合修改场景。数据表增加version字段,更新指定版本或者大于指定版本的数据

5、借助分布式锁

借助redis的setnx命令设置分布式锁




版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接,感谢各位看官!!!

本文出自:monkeyGeek

座右铭:生于忧患,死于安乐

欢迎志同道合的朋友一起交流、探讨!

monkeyGeek
#

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×