查询判重在并发下存在的问题 交易判重 数据库底层判重【附代码】

今天爱分享给大家带来查询判重在并发下存在的问题 交易判重 数据库底层判重【附代码】,希望能够帮助到大家。

首先,用查询判重在并发高的情况下是有可能防不了重复的。

建议在数据库的orderNo字段加唯一索引。


try{
   return insert(order);
}catch(DuplicateKeyException e){
  logger.error(e.getMessage(), e);
  return -1;
}



错误的做法


Order exsitOrder = excute("select order_no from fund_order where order_no = #{orderNo}");
if(exsitOrder = null){
   return insert(order);
}else{
   return -1;
}



人已赞赏
数据库

乐观锁、悲观锁、数据库行锁 RPC调用的幂【面试题详解】

2020-12-23 14:30:40

数据库

远程服务调用防重复处理 通过业务单号做链路幂【附代码】

2020-12-23 14:34:02