1,防止多线程操作同一个对象
// 添加分布式锁 -- 使用乐观锁,提高吞吐量
try {
if(redisService.setNx("aisport:joinTeamByInvitationCode")){
}
} catch (Exception e){
e.printStackTrace();
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
} finally {
// 记得释放锁
redisService.del("aisport:joinTeamByInvitationCode");
}
2,防止同一个用户多次操作同一个方法(接口幂等性)
if(!redisService.setNx("removeSportUserToTeam:"+aiSportUser.getId(),3)){
return ResultData.error("操作频繁,请稍后再试!");
}