防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
见叶之秋1 分钟前
C++ 泛型世界的两块拼图:容器适配器与仿函数
java·开发语言
程序员老赵12 分钟前
Docker 部署 Dolibarr:轻松搭建开源 ERP/CRM 平台
运维·前端·后端
MayBaymax16 分钟前
MQ 基础概念与架构
java·中间件·架构·java-rocketmq
星禾元亨16 分钟前
同一件事有三份资料,AI 该信哪一份?冲突判定、优先级链与处置流程
前端·人工智能
Dovis(誓平步青云)23 分钟前
家里设备越来越多,如何用一张空间地图控制灯光和温度![
android·java·前端·javascript·人工智能·电脑
穆梓兰煊25 分钟前
TS5.7 vs 裸JS:AI应用少3坑
前端
榆瓷34 分钟前
闲着没事,我把 WebGPU 的样板代码封成了一个库
前端
1360967572341 分钟前
页面打不开不是 Nginx 的错
前端·后端
yuniko-n41 分钟前
【Java】字符串相关坑点
java·开发语言·python
xieter42 分钟前
【技术精选】TypeScript 高级类型体操:条件类型与模板字面量深度剖析 (2026-10-06)
javascript