防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
其实防守也摸鱼几秒前
Linux文本处理命令理论学习
linux·服务器·前端·数据库·sql·学习·安全
const_qiu3 分钟前
第三章 08:3.10 本章小结
java·人工智能
Pniubi3 分钟前
快速排序(力扣基础)(递归)
java·数据结构·算法
CarIise21 分钟前
Spring MVC 请求参数绑定与常用注解2
java·spring·mvc
结局无敌23 分钟前
React Native for OpenHarmony 实战:三方库 react-native-progress-steps 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·harmonyos
七夜zippoe28 分钟前
Spring Boot 接通义千问:从拿 Key 到第一个对话接口跑通(保姆级)
java·spring boot·后端
SimonKing29 分钟前
别再花钱调 OCR 接口了!这个国产开源工具,免费还能离线跑
java·后端·程序员
涛涛ing29 分钟前
Chrome DevTools MCP 正式可用:AI 终于能自己开浏览器调试你的页面了
前端
Nebula_g29 分钟前
SpringBoot企业级实战项目—云禾外卖—SpringBoot常用注解解析
java·网络·数据库·spring boot·后端·spring·javase
const_qiu31 分钟前
第三章 07:3.9 能力收束与统一入口
java·人工智能