高并发环境的下幂等操作

一.什么是幂等

幂等就是多次重复提交执行与一次提交执行的结果影响一样

二.为什么要幂等

在高并发的环境下,很频繁就触发多次请求:1.前端页面多次提交 2.网络重发、系统bug重试、nginx重发3.一个业务请求只对应一个订单号

三.如何幂等

1.select+update:在update操作之前先执行select查询操作,适用并发不多的场景

2.悲观锁:通常与事务放在一起  select * from tableName where ID=#{id}  id一定是主键或者是唯一索引,这样是行锁,不然就是表锁

3.乐观锁:通常在数据更新的时候加锁,有两种常见实现

      a.通过版本号实现

     b.通过条件判断实现

4.token+redis机制

5.分布式锁:唯一索引在分布式环境不适用

6.对外提供的第三方接口:通过加source+seqId作为唯一索引判断是要要执行

原文文章链接:https://mp.weixin.qq.com/s/aqlWMxnneFhSIFJBPMW25A

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值