防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
Coder_Boy_18 分钟前
Java(Spring AI)传统项目智能化改造——商业化真实案例(含完整核心代码+落地指南)
java·人工智能·spring boot·spring·微服务
五阿哥永琪32 分钟前
1. 为什么java不能用is开头来做布尔值的参数名,会出现反序列化异常。
java·开发语言
chilavert3182 小时前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库
2301_816997882 小时前
Vite构建工具
前端
海边的Kurisu2 小时前
Mybatis-Plus | 只做增强不做改变——为简化开发而生
java·开发语言·mybatis
识君啊2 小时前
Java 二叉树从入门到精通-遍历与递归详解
java·算法·leetcode·二叉树·深度优先·广度优先
daidaidaiyu2 小时前
一文学习 Spring AOP 源码全过程
java·spring
yuki_uix3 小时前
深入理解 reduce:从面试题到设计思维
前端