防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
国科安芯3 分钟前
商业航天通信载荷数字处理单元供电架构研究——基于ASP7A84AS的高精度低压差线性稳压器技术分析
前端·单片机·嵌入式硬件·fpga开发·架构·安全性测试
何以解忧,唯有..11 分钟前
Python 中的继承机制:从基础到高级用法详解
java·开发语言·python
Yiyaoshujuku16 分钟前
化合物数据集API接口(数据结构及样例)
java·网络·数据结构
TangentDomain25 分钟前
AI 写代码时代,游戏 UI 架构为什么停在 MVP?
前端·游戏·架构
plainGeekDev28 分钟前
算法刷题笔记:一维DP没那么难,状态想清楚就赢了一半
java·算法·面试
英勇无比的消炎药29 分钟前
前端提效神器全新AI组件库TinyRobot改写日常开发模式
前端·vue.js
GuWenyue30 分钟前
10分钟搞定TodoList实战!从0搭建Bun+TS的RESTful接口服务
前端·typescript·bun
IMPYLH32 分钟前
HTML 的 <a>元素
前端·javascript·html
IceBing34 分钟前
还在一个个连接 Arthas?这个开源平台支持批量诊断 JVM
java
PedroQue9936 分钟前
uni-router:uni-app路由管理新选择
前端·uni-app