防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
cidy_982 分钟前
Main 正式环境合并说明
前端
万物智能5 分钟前
开源鸿蒙内核配置与驱动三条路径—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
前端·后端
每天吃饭的羊6 分钟前
WebAssembly
开发语言·javascript·wasm
hunterandroid6 分钟前
Android 多渠道打包与 Gradle 构建优化实战
android·前端·kotlin
Zane19948 分钟前
自己写一个 java.lang.String,为什么永远替换不掉 JDK 那个
java·后端
吴声子夜歌18 分钟前
Guava——并发(一)
java·guava
用户2526327534719 分钟前
如何实现MySQL多表联查
前端
天空属于哈夫克322 分钟前
企业微信API:企业微信如何实现自动化运营?
java·自动化·企业微信
风吹心凉23 分钟前
第2天|拆解ReAct Prompt:Thought、Action、Observation与信息流
javascript·react.js·prompt
今天AI了吗24 分钟前
【AI】一文讲清 RAG:从大模型局限到企业级知识库落地流程
前端·javascript·人工智能·python·深度学习·机器学习·easyui