防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
冴羽yayujs9 分钟前
JavaScript 9 个先有库再有 API 的故事
开发语言·javascript·ecmascript
油丶酸萝卜别吃27 分钟前
JavaScript 深度合并函数 deepMerge 实现指南(附完整测试用例)
开发语言·javascript·测试用例
问心无愧051328 分钟前
ctf show web 入门152
前端·笔记
kyriewen29 分钟前
Copilot下个月按Token收钱,我算了一笔账:重度用户一年要多花3000块
前端·javascript·openai
YOU OU33 分钟前
SpringBoot 配置文件
java·spring boot·后端
c++之路34 分钟前
观察者模式(Observer Pattern)
java·网络·观察者模式
Dicky-_-zhang36 分钟前
云原生存储与数据库选型实战:从传统数据库到云原生数据库的演进
java·jvm
凝小飞40 分钟前
cucumber JAVA 一键部署指南
java·集成测试·模块测试
java修仙传41 分钟前
Java 实习日记:断面状态筛选 Bug 修复与对比案例日期过滤优化
java·bug·实习
长谷深风11143 分钟前
Java并发编程:线程安全与多线程实战指南【个人八股】
java·安全·线程·进程·juc·并发与并行·上下文切换(性能影响因素)