防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
小大宇2 分钟前
Vue知识点-ElementPlus-05 输入框
前端·javascript·vue.js
外贸GEO优化15 分钟前
外贸独立站的可抓取性:JS 渲染、懒加载与无限滚动到底影响什么
开发语言·javascript·ecmascript
l1m0_23 分钟前
AI设计工具有哪些?Paico、Pixso AI、墨刀AI、Lovable、Codex怎么选
前端·人工智能·ai·设计·墨刀·codex·pixso
web打印社区25 分钟前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
系统集成-鹰翔30 分钟前
ERP对接升级提示数据库迁移失败:SQLite逐版本事务到底回滚到哪一步
javascript·数据库·经验分享·后端
西瓜拿铁好喝31 分钟前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
IT_陈寒31 分钟前
深入理解SpringBoot:核心原理与最佳实践
前端·人工智能·后端
学长毕设33 分钟前
基于SpringBoot的校园礼服租赁系统的设计与实现
java·spring boot·后端
明天也要努力学习39 分钟前
深入理解 JVM 垃圾回收(GC)
java·jvm
golang学习记1 小时前
IDEA 断点调试技巧:拖拽
java·ide·intellij-idea