防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
羲云8 分钟前
给 Vue 页面加个 Markdown 编辑器:ME.js 的接入、图片粘贴与音视频
javascript·vue.js
zhangzeyuaaa15 分钟前
Ruby 方法参数完全指南:默认值、可变参数与关键字参数
前端·python·ruby
知守观16 分钟前
HTML 转 PDF 方案实战:iTextPDF 与 wkhtmltopdf 踩坑复盘,附 Flying Saucer / openhtmltopdf 选型对比
java·后端
粥里有勺糖16 分钟前
视野修炼-技术周刊第135期 | 鼠标跟随宠物
前端·github·aigc
2601_9620715718 分钟前
类变量和全局变量的隔离性有什么区别?
java·开发语言·jvm
粥里有勺糖23 分钟前
拿 Codex 协助清理磁盘,Nice!
前端·后端·github
海绵宝宝转agent25 分钟前
LeetCode100 LRU缓存思路讲解
java·开发语言·缓存
专业程序开发源26 分钟前
springboot高校学生社团管理系统74810-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
youdexiang32 分钟前
AI 生成会议纪要好用吗?多款 APP 功能分析
java·人工智能·音视频
Highcharts.js33 分钟前
可视化商用图表库对比,如何选择?
前端·javascript·学习·信息可视化·highcharts·前端可视化