防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
笙年5 小时前
JavaScript Promise,包括构造函数、对象方法和类方法
开发语言·javascript·ecmascript
桜吹雪5 小时前
LangChain.js/DeepAgents可观测性
javascript·人工智能
WZTTMoon5 小时前
Spring Boot 启动全解析:4 大关键动作 + 底层逻辑
java·spring boot·后端
章鱼哥7305 小时前
[特殊字符] SpringBoot 自定义系统健康检测:数据库、Redis、表统计、更新时长、系统性能全链路监控
java·数据库·redis
5***o5005 小时前
前端在移动端中的NativeBase
前端
深圳佛手5 小时前
Sharding-JDBC 和 Sharding-Proxy 区别
java
灵魂学者5 小时前
Vue3.x —— 父子通信
前端·javascript·vue.js·github
kk哥88995 小时前
inout参数传递机制的底层原理是什么?
java·开发语言
1***Q7845 小时前
前端跨域解决方案
前端