防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
小笔学长1 分钟前
Webpack 入门:打包工具的基本使用
前端·webpack·前端开发·入门教程·前端打包优化
yyy(十一月限定版)1 分钟前
C++基础
java·开发语言·c++
Coder_Boy_2 分钟前
分布式系统设计经验总结:金融vs电商的核心差异与决策思路
java·运维·微服务·金融·电商
黎明初时3 分钟前
react基础框架搭建4-tailwindcss配置:react+router+redux+axios+Tailwind+webpack
前端·react.js·webpack·前端框架
小沐°3 分钟前
vue3-父子组件通信
前端·javascript·vue.js
铅笔侠_小龙虾4 分钟前
Ubuntu 搭建前端环境&Vue实战
linux·前端·ubuntu·vue
码界奇点5 分钟前
基于逆向工程技术的Claude Code智能Agent系统分析与重构研究
javascript·ai·重构·毕业设计·源代码管理
yuhaiqun19896 分钟前
发现前端性能瓶颈的巧妙方法:建立“现象归因→分析定位→优化验证”的闭环思维
前端·经验分享·笔记·python·学习·课程设计·学习方法
To Be Clean Coder12 分钟前
【Spring源码】getBean源码实战(一)
java·后端·spring
树叶会结冰15 分钟前
TypeScript---循环:要学会原地踏步,更要学会跳出舒适圈
前端·javascript·typescript