防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
excel5 分钟前
JavaScript 中 substr、substring 和 slice 的区别
前端
Android小码家10 分钟前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle
范同学~10 分钟前
固定表头+第一列+最后一列
java·服务器·前端
随风爱学习28 分钟前
JAVA学习之异常
java
m0_6399069430 分钟前
HashMap:哈希扰动、扩容源码、红黑树转换、并发问题
java·算法·哈希算法
Roll圈圈37 分钟前
长链接太丑影响转化率?这个短链工具让你的推广链接更专业
java
zttbee37 分钟前
npm install卡顿
前端·npm·node.js
Amos_Web41 分钟前
Rspack 源码解析(二十七):AsyncWasmParserAndGenerator 如何把二进制变成异步模块
前端·rust
神魔皆以血嗜43 分钟前
Java 存储金额
java·后端
西红柿炖牛腩3541 小时前
机房电脑不能联网,怎么离线把课件里的 3D 模型压小?Draco / Meshopt 参数清单
前端·javascript·3d·性能优化·大屏端