防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
兰令水几秒前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
ikoala12 分钟前
Codex 小白入门:从安装到插件、MCP、Skills,一篇把配置讲明白
前端·javascript·后端
雪隐33 分钟前
用Flutter做背单词APP-04一个人,2周,从零撸出一个背单词App
前端·人工智能·后端
名字还没想好☜39 分钟前
用 Redis + Redisson 实现分布式锁:从踩坑到生产可用
java·redis·分布式·junit·分布式锁·redisson
谙忆1 小时前
图片CDN与边缘优化实战:缓存策略、图片处理型CDN与动态裁剪
java·spring·缓存
OpenTiny社区1 小时前
Skill 设计:封装、评测、运营,一次讲透
前端·github
大白要努力!1 小时前
uni-app 全面入门速查手册
前端·uni-app
索西引擎1 小时前
【React】虚拟 DOM:原理、机制与核心价值分析
前端·react.js·前端框架
ltqvibe1 小时前
怎么让本体语义变成可执行的智能体
java·人工智能·本体语义
console.log('npc')1 小时前
网页移动端UI/UX Pro Max - 设计智能skill
前端·人工智能·ui·ux