防止重复调用

前段防重

在前段设置状态在响应时进入遮罩层或给按钮一个状态

后端防重

复制代码
   //获取setNX锁
        if (redisTemplate.opsForValue().setIfAbsent("lock", orderId)) {
            //获取锁成功
            try {
                //Redission 获取锁
                RLock lock = redissonClient.getLock("lock");
                boolean acquired = lock.tryLock(10, TimeUnit.SECONDS); // 尝试获取锁,最多等待10秒
                if (acquired) {
                    try {
                        // 执行业务逻辑

                    } finally {
                        lock.unlock(); // 记得解锁
                    }
                }
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            } finally {
                //删除锁
                redisTemplate.delete("lock");
            }
        }
相关推荐
郑洁文8 小时前
基于Python的Web命令执行漏洞自动化检测系统
前端·python·网络安全·自动化
码语智行8 小时前
首页地图功能分析
java
新酱爱学习8 小时前
手搓 10 个 Skill 后,我把重复劳动收敛成了一套零依赖 CLI 工具
前端·javascript·人工智能
段ヤシ.8 小时前
回顾Java知识点,面试题汇总Day10:日期类、IO流(持续更新)
java·序列化·反序列化·日期类·i/o流
罗超驿8 小时前
13.JavaScript 新手入门指南:语法、变量、流程控制全解析
开发语言·javascript
IT_陈寒8 小时前
Python的线程池居然把我坑在了垃圾回收这块
前端·人工智能·后端
luck_bor9 小时前
IO流知识点笔记
java·开发语言·笔记
ct9789 小时前
Three.js 性能优化(测量-定位-优化)
javascript·性能优化·three
研☆香9 小时前
es6新特性功能介绍(一)
前端·ecmascript·es6