防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
Qhumaing几秒前
Java学习——第五章 异常处理与输入输出流笔记
java·笔记·学习
w***76553 分钟前
vue2和vue3的区别
前端·javascript·vue.js
阿杰 AJie4 分钟前
MyBatis-Plus 比较运算符
java·数据库·mybatis
n 55!w !1084 分钟前
静态网页作业
前端·css·css3
码农幻想梦4 分钟前
实验六 AOP,JdbcTemplate及声明式事务
java·开发语言·数据库
缘木之鱼5 分钟前
CTFshow __Web应用安全与防护 第一章
前端·安全·渗透·ctf·ctfshow
我是一只小青蛙8885 分钟前
Python文件组织:路径抽象到安全归档
java·服务器·前端
XXOOXRT5 分钟前
基于SpringBoot的用户登录
java·spring boot·后端
不穿格子的程序员7 分钟前
JVM篇1:java的内存结构 + 对象分配理解
java·jvm·虚拟机·内存结构·对象分配
奔跑的web.9 分钟前
TypeScript 泛型完全指南:写法、四大应用场景与高级用法
前端·javascript·vue.js·typescript