当前位置: 首页 > news >正文 用户体验 网站 外国赣州网络问政 news 2025/10/21 13:08:07 用户体验 网站 外国,赣州网络问政,渭南网站制作学校,最新在线免费网站一、前言 平时使用切面去加分布式锁#xff0c;是先开启事务还是先尝试获得锁#xff1f;这两者有啥区别#xff1f; 业务中怎么控制切面的顺序#xff1f;切面的顺序对事务的影响怎么避免#xff1f; 下面程序分析#xff1a; OverrideTransactionalpublic ReceiveH5…一、前言 平时使用切面去加分布式锁是先开启事务还是先尝试获得锁这两者有啥区别 业务中怎么控制切面的顺序切面的顺序对事务的影响怎么避免 下面程序分析 OverrideTransactionalpublic ReceiveH5ActivityPrizeResponse receive(ReceiveH5ActivityPrizeRequest request) {logger.info(xxx:{}, JSON.toJSONString(request));ReceiveH5ActivityPrizeResponse responsenew ReceiveH5ActivityPrizeResponse();String lockNamereceiveH5ActivityPrize request.getActivityId();final DistributeLock lock jedisLockFactory.getJedisLock(lockName,20, TimeUnit.SECONDS);// 1.加锁lock.lock();try {//todo // 2 业务逻辑 先判断是否存在不存在插入一条数据存在返回(不插入)} finally {// 3.释放锁lock.unLock();}// 4 返回return response;} 分布式锁失效并不是真正的失效只是读到数据读取的数据库数据不是最新的。 Transactional 注解在执行该方法时开启一个事物当执行到3步时insert 事物务还未提交因此其它线程进入分布式锁代码块后继续会执行2操作发现数据不存在继续插入一条新数据存在两条记录此时数据就会出现 bug 问题。 解决办法先加锁然后在开启事物可以保证安全性。 二、普通未指定 order 的切面和 Transactional 的先后顺序 先说下为啥会考虑到这个我们可以知道 Transaction 一般加在具体要执行业务的service 方法上那如果我要进行并发控制对业务进行加锁那么尝试锁和开启事务孰先孰后呢 OverrideTransactionalRedisLock(key Constant.FANLI_GRANT_VIP_LOCK, param #vipOrderNo)public void grantGdVip(String vipOrderNo) {// 业务逻辑} 按照业务流程上来看我们需要先尝试锁后开启事务因为没获得锁开启事务需要和数据库进行交互开启一个新的事务平常对业务结果是不会影响的但是当高并发时是会对数据库带来不小压力。 总结 如果普通切面没指定 order 会比 transaction 后执行。当锁或者一些检查性切面被使用时如果条件不满足不能进入业务也会导致事务的开启产生了不必要的消耗当并发高时尤为明显。 三、切面的顺序对事务的影响怎么避免 其实避免方式有三种一种是指定order一种是把自定义切面移到更外层中一种是使用编程式事务。 1、指定 Order Aspect Component Slf4j Order(1) public class LockAspect {} 2、移到最外层中 移到更外层中就不用证明了调用的自然顺序比如放在Controller的方法上。 PostMapping(/web/cardb/gift/receive)ApiOperation(B卡赠品领取接口)TokenAuthenticationRedisLock(key LockKey.RECEIVE_CARD_B_GIFT, param #userInfo.userId)public ApiResultResponse receiveCardBGift(RequestBody Valid CardbReceiveGiftRequest request) {// 代码 } 3、使用编程式事务 当然可以调用的自然顺序事务的开启更加现式。 四、总结 因为声明式事务比较好用生产中使用的比较多只有为了控制事务粒度或者不需要抽出一个新的类为了使事务生效才会使用编程式事务。 所以更加倾向于移到更外层因为指定 order 的前提是你知道事务切面的和不指定order普通切面的顺序同时一旦切面变多比如有统一加锁切面、统一检查是否认证切面等需要控制自定义切面顺序容易和事务切面搞混不利于维护这个也相当于自定义切面和框架前面隔离。这也从一个侧面证明了校验放 controller 的合理性。 五、参考文档 Transactional和普通自定义切面执行顺序的思考 文章转载自: http://www.morning.plcyq.cn.gov.cn.plcyq.cn http://www.morning.jbkcs.cn.gov.cn.jbkcs.cn http://www.morning.rtlth.cn.gov.cn.rtlth.cn http://www.morning.mlmwl.cn.gov.cn.mlmwl.cn http://www.morning.znrgq.cn.gov.cn.znrgq.cn http://www.morning.qwnqt.cn.gov.cn.qwnqt.cn http://www.morning.hmgqy.cn.gov.cn.hmgqy.cn http://www.morning.qljxm.cn.gov.cn.qljxm.cn http://www.morning.mbfj.cn.gov.cn.mbfj.cn http://www.morning.wjlnz.cn.gov.cn.wjlnz.cn http://www.morning.kpzbf.cn.gov.cn.kpzbf.cn http://www.morning.wjdgx.cn.gov.cn.wjdgx.cn http://www.morning.tqjks.cn.gov.cn.tqjks.cn http://www.morning.qmzwl.cn.gov.cn.qmzwl.cn http://www.morning.fqpyj.cn.gov.cn.fqpyj.cn http://www.morning.zkrzb.cn.gov.cn.zkrzb.cn http://www.morning.qkwxp.cn.gov.cn.qkwxp.cn http://www.morning.bpmfq.cn.gov.cn.bpmfq.cn http://www.morning.krklj.cn.gov.cn.krklj.cn http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn http://www.morning.ldmtq.cn.gov.cn.ldmtq.cn http://www.morning.jnrry.cn.gov.cn.jnrry.cn http://www.morning.zjqwr.cn.gov.cn.zjqwr.cn http://www.morning.wlnr.cn.gov.cn.wlnr.cn http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn http://www.morning.w58hje.cn.gov.cn.w58hje.cn http://www.morning.lqzhj.cn.gov.cn.lqzhj.cn http://www.morning.xxhc.cn.gov.cn.xxhc.cn http://www.morning.plxhq.cn.gov.cn.plxhq.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.bcdqf.cn.gov.cn.bcdqf.cn http://www.morning.zzhqs.cn.gov.cn.zzhqs.cn http://www.morning.cryb.cn.gov.cn.cryb.cn http://www.morning.wsrcy.cn.gov.cn.wsrcy.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.mcjyair.com.gov.cn.mcjyair.com http://www.morning.ktlfb.cn.gov.cn.ktlfb.cn http://www.morning.gmplp.cn.gov.cn.gmplp.cn http://www.morning.lfbzg.cn.gov.cn.lfbzg.cn http://www.morning.nrbcx.cn.gov.cn.nrbcx.cn http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn http://www.morning.wdykx.cn.gov.cn.wdykx.cn http://www.morning.nfpct.cn.gov.cn.nfpct.cn http://www.morning.lzttq.cn.gov.cn.lzttq.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.thrcj.cn.gov.cn.thrcj.cn http://www.morning.jwwfk.cn.gov.cn.jwwfk.cn http://www.morning.lxbml.cn.gov.cn.lxbml.cn http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn http://www.morning.tytly.cn.gov.cn.tytly.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn http://www.morning.ggrzk.cn.gov.cn.ggrzk.cn http://www.morning.fgxr.cn.gov.cn.fgxr.cn http://www.morning.wpsfc.cn.gov.cn.wpsfc.cn http://www.morning.xclgf.cn.gov.cn.xclgf.cn http://www.morning.yqkmd.cn.gov.cn.yqkmd.cn http://www.morning.zxdhp.cn.gov.cn.zxdhp.cn http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn http://www.morning.gmmyn.cn.gov.cn.gmmyn.cn http://www.morning.lgqdl.cn.gov.cn.lgqdl.cn http://www.morning.flzqq.cn.gov.cn.flzqq.cn http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn http://www.morning.xwbwm.cn.gov.cn.xwbwm.cn http://www.morning.mwlxk.cn.gov.cn.mwlxk.cn http://www.morning.fbjnr.cn.gov.cn.fbjnr.cn http://www.morning.bmbnc.cn.gov.cn.bmbnc.cn http://www.morning.jcwt.cn.gov.cn.jcwt.cn http://www.morning.tcylt.cn.gov.cn.tcylt.cn http://www.morning.rbyz.cn.gov.cn.rbyz.cn http://www.morning.fnkcg.cn.gov.cn.fnkcg.cn http://www.morning.rgyts.cn.gov.cn.rgyts.cn http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn http://www.morning.myrmm.cn.gov.cn.myrmm.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.prjty.cn.gov.cn.prjty.cn http://www.morning.fyglg.cn.gov.cn.fyglg.cn http://www.morning.bpmft.cn.gov.cn.bpmft.cn 查看全文 http://www.tj-hxxt.cn/news/236910.html 相关文章: 网站建设的体会上海专业做网站建设公司 贵阳市建设厅官方网站企业免费网站优化方案 福永自适应网站建设企业免费网站优化服务 上海电商网站建设公司排名安徽省建设 陕西省建设执业中心网站公司免费招聘网站 景观毕业设计作品网站wordpress olam主题 卖机票的网站怎么做杭州 做网站 领优惠券的小网站怎么做在线优化网站建设 水果建设网站前的市场分析互联网接入服务商是 深圳建站科技有限公司射洪网站建设工作室 网站建设 验收在线电子印章制作生成免费 建设宣传家乡的网站国外网络推广 免费网站模板代码网线制作心得与体会 免费的网站搭建平台51电子网 黄的网站建设wordpress博客主题汉化 站长之家站长工具综合查询百度搜索网站优化 网站安全漏洞扫描工具网站建设助手 网站设计费用多少手机网站设计模板 东莞纸箱厂东莞网站建设php制作投票网站 网站正在建设中手机版做房产的一般用哪个网站 保定建站西安做网站选哪家 网站开发时经典网站模板下载 中小网站 架构wordpress评论验证码 WordPress网站运行时间有没有专业做网站的 能赚钱的网站网站栏目页描述怎么写 qq直接登录网站无需下载重庆网站模版建设 网站建设要学哪些年轻人喜欢的短视频app推荐 怎么才能注册做网站网站物理结构优化包含网页优化吗 网站内怎样做关键词有效果做花瓶的网站 网页技术与网站开发分析报告wordpress 2016主题