防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
柒.梧.10 分钟前
Spring核心知识全解析:从入门实战到进阶
java·后端·spring
hboot10 分钟前
别再被 TS 类型冲突折磨了!一文搞懂类型合并规则
前端·typescript
乌日尼乐13 分钟前
【Java基础整理】Java字符串处理,String、StringBuffer、StringBuilder
java·后端
在西安放羊的牛油果14 分钟前
浅谈 import.meta.env 和 process.env 的区别
前端·vue.js·node.js
鹏北海19 分钟前
从弹窗变胖到 npm 依赖管理:一次完整的问题排查记录
前端·npm·node.js
布列瑟农的星空20 分钟前
js中的using声明
前端
薛定谔的猫220 分钟前
Cursor 系列(2):使用心得
前端·ai编程·cursor
全栈独立开发者20 分钟前
点餐系统装上了“DeepSeek大脑”:基于 Spring AI + PgVector 的 RAG 落地指南
java·人工智能·spring
用户9047066835720 分钟前
后端问前端:我的接口请求花了多少秒?为啥那么慢,是你慢还是我慢?
前端
深念Y21 分钟前
仿B站项目 前端 4 首页 顶层导航栏
前端·vue·ai编程·导航栏·bilibili·ai开发