防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
ssshooter16 小时前
Tauri 项目实践:客户端与 Web 端的授权登录实现方案
前端·后端·rust
会员源码网17 小时前
数字格式化陷阱:如何优雅处理 NumberFormatException
java
兆子龙17 小时前
【React】19 深度解析:掌握新一代 React 特性
前端·架构
Moment17 小时前
MinIO已死,MinIO万岁
前端·后端·github
无双_Joney17 小时前
心路散文 - 转职遇到AI浪潮,AIGC时刻人的价值是什么?
前端·后端·架构
孔明click3317 小时前
Sa-Token v1.45.0 发布 🚀,正式支持 Spring Boot 4、新增 Jackson3/Snack4 插件适配
java·sa-token·开源·springboot·登录·权限认证
有意义17 小时前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
程序猿阿越17 小时前
Kafka4源码(二)创建Topic
java·后端·源码阅读
小怪点点17 小时前
vue3使用
前端·vue.js
进击的尘埃17 小时前
Vitest 自定义 Reporter 与覆盖率卡口:在 Monorepo 里搞增量覆盖率检测
javascript