防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
Lyyaoo.6 分钟前
【JAVA基础面经】JAVA中的异常
java·开发语言
Muen7 分钟前
iOS开发-适配XCode26、iOS26
前端
ByteCraze7 分钟前
JavaScript 深拷贝完全指南:从入门到精通
开发语言·javascript·ecmascript
用户842981424181011 分钟前
3个Html加密工具
javascript
一定要AK20 分钟前
JVM 全体系深度解析笔记
java·jvm·笔记
coder阿龙21 分钟前
基于SpringAI+Qdrant+Ollama本地模型和向量数据库开发问答和RAG检索
java·数据库·spring boot·ai·数据库开发
Gofarlic_OMS21 分钟前
HyperWorks用户仿真行为分析与许可证资源分点配置
java·大数据·运维·服务器·人工智能
徒 花27 分钟前
Python知识学习08
java·python·算法
Lyyaoo.28 分钟前
【JAVA基础面经】== 和 equals() 的区别
java·开发语言·jvm
卸任31 分钟前
Electron霸屏功能总结
前端·react.js·electron