zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

接口幂等性的几种简单解决方案

2023-03-20 14:57:09 时间

1、接口幂等性是什么

接口幂等性并不是数学中的幂等,而是对于用户来说不论网络波动或者刷新页面后重新操作某个动作等,最终导致对同一接口产生多次请求, 但是对于用户而言并没有产生影响。也就是说重复多次操作的结果 = 一次操作的结果。

2、有哪些常见的接口幂等性例子

线上商城订单连续点击2次支付,但是只扣了一次钱;

页面重复提交选中后的数据,数据库最终只会存一份;

网络抖动造成后台收到2次创建订单请求,最终只会生成一条;

。。。

3、项目中简单应用方案

1、前段控制: 按钮点击一次后,置灰不可再点击

2、重定向:对于无后续操作的,直接跳转到另一个页面

3、token:token加redis(单个),进入到页面后,后端给前段一个token,前段再提交数据时带上token返回给后端;利用redis删除token操作判断是否是有效token

4、version:在对数据库进行更新操作时,带上version号,同时对版本号+1操作,这就需要数据库表里也需要有该字段

5、悲观锁:一般不建议,要不失去了并发作用

后续再补充吧,,,,