防止重复调用

前段防重

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

后端防重

复制代码
   //获取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");
            }
        }
相关推荐
计算机魔术师25 分钟前
斯坦福研究:AI 对入门级岗位冲击最大
前端
感谢一路走过的人31 分钟前
AGGrid刷新数据后执行筛选
javascript·ag-grid
水獭比特42 分钟前
工具都批准了,为什么还不能执行?给 Agent 补上第二道校验
javascript·人工智能·node.js
Simon_He1 小时前
一个渲染内核,五个框架包:我的流式 Markdown 渲染库是怎么长成“全家桶”的
前端·vue.js·markdown
古法安卓1 小时前
Android-epoll原理详解
android·java·android studio
小满zs1 小时前
关于HBuilderX+ 微信小程序开发工具启动的问题
前端·uni-app
fireworks991 小时前
接口鉴权(401与403)
java·后端
wear工程师1 小时前
线程池里的异常去哪了?execute 和 submit 不是一回事
java
林深见鹿_海蓝见鲸1 小时前
微信小程序反编译完整教程(Windows 新手版)
前端
夏雪coding1 小时前
JeecgBoot 动态路由踩坑(Vue2):刷新白屏、permissionList[0] 报 undefined,以及我最后为什么全删了
javascript·vue.js