防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
wespaul几秒前
VeapAI 自然语言操作实战|第 04 篇:系统数据加工——把系统自身的元数据吃成知识
java·大数据·运维·数据库·人工智能
幼儿园蛋小黑3 分钟前
SPI 子系统:从原理到实践
java·前端·数据库
雪雪爱冲浪9 分钟前
JavaScript 网络爬虫教程(2026)
开发语言·javascript·爬虫
Data analyse45617 分钟前
rrweb回放事件资源加载顺序重放校验
前端·人工智能·算法·机器学习·数据分析
软件技术NINI17 分钟前
化妆品html+css+js 7页
javascript·css·html
要吃这碗饭26 分钟前
JavaScript 网络爬虫教程(2026)
开发语言·javascript·爬虫
yangmu320329 分钟前
Unity 开发过程与底层原理
java·开发语言
lexiangqicheng32 分钟前
自定义表单跨端共用机制-PC设计APP渲染
java·前端·javascript
zhikouai35 分钟前
AI辅助逆向工程链路:从二进制接入到等价性校验
java·linux·前端
沙漏无语36 分钟前
pnpm 安装@vue-office包的幽灵依赖问题解决
前端·javascript·vue.js