防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
张柏慈6 小时前
Java性能优化:实战技巧与案例解析
java
天“码”行空6 小时前
简化Lambda——方法引用
java·开发语言
提笔了无痕6 小时前
Web中Token验证如何实现(go语言)
前端·go·json·restful
戌中横6 小时前
JavaScript——Web APIs DOM
前端·javascript·html
Beginner x_u6 小时前
如何解释JavaScript 中 this 的值?
开发语言·前端·javascript·this 指针
带刺的坐椅6 小时前
MCP 进化:让静态 Tool 进化为具备“上下文感知”的远程 Skills
java·ai·llm·agent·solon·mcp·tool-call·skills
java1234_小锋6 小时前
Java线程之间是如何通信的?
java·开发语言
张张努力变强7 小时前
C++ Date日期类的设计与实现全解析
java·开发语言·c++·算法
HWL56797 小时前
获取网页首屏加载时间
前端·javascript·vue.js
烟锁池塘柳07 小时前
【已解决】Google Chrome 浏览器报错 STATUS_ACCESS_VIOLATION 的解决方案
前端·chrome