防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
gelald12 小时前
ReentrantLock 学习笔记
java·后端
计算机学姐12 小时前
基于SpringBoot的校园资源共享系统【个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·后端·mysql·spring·信息可视化
一条咸鱼_SaltyFish12 小时前
[Day15] 若依框架二次开发改造记录:定制化之旅 contract-security-ruoyi
java·大数据·经验分享·分布式·微服务·架构·ai编程
智航GIS12 小时前
10.7 pyspider 库入门
开发语言·前端·python
跟着珅聪学java12 小时前
JavaScript 底层原理
java·开发语言
Mr. Cao code12 小时前
Docker数据管理:持久化存储最佳实践
java·docker·容器
强子感冒了12 小时前
Java 学习笔记:File类核心API详解与使用指南
java·笔记·学习
华仔啊12 小时前
写 CSS 用 px?这 3 个单位能让页面自动适配屏幕
前端·css
spencer_tseng12 小时前
eclipse ALT+SHIFT+A
java·ide·eclipse
vyuvyucd12 小时前
C++排序算法全解析
java·数据结构·算法