多服务器节点访问解决一人一单问题+redis设置锁方案

news2024/11/30 12:32:37

项目地址及项目具体介绍-码云仓库:https://gitee.com/flowers-bloom-is-the-sea/distributeNodeSolvePessimisticLockByRedis

测试1:

这里使用jmeter同时启动2各线程:

原来的数据库表的数据:

goods的数据是:

    id   stock  
------  --------
     1       999

goods_order里没有数据。

在这里插入图片描述

测试结果:

通过打断点调试,goods_order的表里插入了1条数据,goods的库存减一。两个项目工程确实会有一个的isLock为true另一个为false.

这样实际上就完成测试了,但是只能说这个算一个数据量还不够的测试。

测试2:

对于这个超卖的业务进行压力测试:

jmeter开了2个线程组,一组的测试端口为localhost:8081/goods/buyGoodByUserId/1/1另一组为localhost:8082/goods/buyGoodByUserId/1/1,每一组分别1000以上线程来访问,同时启动这2组线程组。

预测结果:对于同一用户,肯定是只能买1份物品,因为锁在redis里获取,一次只有一个线程可以成功,其他线程失败(也就是2000以上线程仅1个线程成功);对于线程组而言肯定仅一个线程组的一个线程操作成功。

测试结果:

这个线程组1000多个线程全部操作失败:

在这里插入图片描述

这个线程组1000多个线程仅1个成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gCQk9oSI-1677037173707)(READMD.assets\image-20230222110917495.png)]

查看了数据库的数据,预测成立,确实库存减一,goods_order数据新增1条。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/363556.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

金蝶云星空物料批量禁用反禁用程序

【需求描述】:需要通过批量禁用反禁用操作物料。 【操作方法】: 下载附件批量禁用程序。 首先双击安装,一直下一步。 双击打开 会提示需要配置账套信息 点击菜单栏配置 输入相关配置信息 填写完毕后 然后点击下载模板导入要下载的数据 选…

Linux进程学习【三】

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

Word控件Spire.Doc 【Table】教程(18):如何在 C# 中的 Word 中创建嵌套表格

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

「JVM 编译优化」即时编译器

前端编译器(javac)将 Java 代码转为字节码(抽象语法树),优化手段主要用于提升程序的编码效率; 后端编译器(内置于 JVM 的 JIT/AOT Compiler,C1,C2)将字节码转…

2022年休闲游戏市场总结

在预测 2023 年之前,我们先回顾一下 2022 年。从上一年发生的事件中往往能看到未来趋势的影子,所以 2022 年的总结至关重要。一、2022年总结回顾1、流行游戏类型回顾 2022 年,三种超休闲游戏表现最为突出:跑酷游戏:跑酷…

spring之声明式事务开发

文章目录一、声明式事务之全注解式开发1、新建springConfig类2、测试程序3、测试结果二、声明式事务之XML实现方式1、配置步骤2、测试程序3、运行结果附一、声明式事务之全注解式开发 基于之前的银行转账系统,将spring.xml配置文件嘎掉,变成全注解式开发…

【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)

【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER) 【STM32笔记】低功耗模式配置及避坑汇总 前文: blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模式配置…

Spring Boot整合RabbitMQ教程

1.首页我们了解一下消息中间件的应用场景异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。…

js实现轮播图

实现的效果图 原理:一次性加载所有图片,使用定位将图片重合在一起,根据opacity,z-index 属性显示当前图片 一、基本的HTML布局 创建一个外部容器来存放图片,prev-next是添加的左右切换按钮,dot存放图片下方的小白点…

《爆肝整理》保姆级系列教程python接口自动化(二十一)--unittest简介(详解)

简介 前边的随笔主要介绍的requests模块的有关知识个内容,接下来看一下python的单元测试框架unittest。熟悉 或者了解java 的小伙伴应该都清楚常见的单元测试框架 Junit 和 TestNG,这个招聘的需求上也是经常见到的。python 里面也有单元 测试框架-unitt…

小熊电器:精品与创意,走上“顶流之路”的两把“宝剑”

回顾2022年,小家电市场降温趋势明显,业绩表现整体低迷,如主打高端路线的北鼎,去年8亿元的营收出现个位数下滑,归母净利润同比下降超56%;苏泊尔营收也出现微降,归母净利润预计同比增长不到10%。而…

教你如何搭建培训机构-招生管理系统,demo可分享

1、简介1.1、案例简介本文将介绍,如何搭建培训机构-招生管理。1.2、应用场景根据意向信息站的收录信息,可批量导入意向信息,在意向信息站转为意向学员,转为意向学员后可进行报名收费成为正式学员。2、设置方法2.1、表单搭建1&…

从零实现深度学习框架:Seq2Seq从理论到实战【实战篇】

来源:投稿 作者:175 编辑:学姐 往期内容: 从零实现深度学习框架1:RNN从理论到实战(理论篇) 从零实现深度学习框架2:RNN从理论到实战(实战篇) 从零实现深度…

JUC-day01

JUC-day01 什么是JUC线程的状态: wait sleep关键字:同步锁 原理(重点)Lock接口: ReentrantLock(可重入锁)—>AQS CAS线程之间的通讯 1 什么是JUC 1.1 JUC简介 在Java中,线程部分是一个重点,本篇文章说的JUC也是关于线程的。JUC就是java.util .con…

活动预告 | GAIDC 全球人工智能开发者先锋大会

大会主题——“向光而行的 AI 开发者” 2023 全球人工智能开发者先锋大会(GAIDC) 由世界人工智能大会组委会、上海市经济和信息化委员会、上海市人才工作领导小组办公室及中国(上海)自由贸易试验区临港新片区管理委员会指导&…

【Java集合类】HashMap(二)- 设计要点

本章将开始探讨JDK中的HashMap,包括HashMap如何避免和解决上一章所说的散列冲突问题,以及Java 8对HashMap的改进 避免散列冲突- 散列函数设计 String.hashcode() Object.hashCode()方法用于返回当前对象的散列值。Object类中也约定了,重写…

【消费战略方法论】认识消费者的恒常原理(一):消费者稳态平衡原理

“消费战略”是塔望咨询基于大量的战略与营销实践经验结合心理学、经济学、传播学等相关专业学科的知识应用进行提炼与创造形成的战略方法体系。消费战略强调以消费者为导向,进行企业、品牌战略、品牌营销的制订和落地,企业经营的每个环节和输出的每个动…

提取括号中的内容

正则能解决不嵌套的括号内容提取问题遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式(\[[^\]]*\])可以提取中括号中的内容,以下面文本为匹配对象:PerformanceManager[第1个中…

【算法基础】一维差分 + 二维差分

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和算法 ✈️专栏:【C/C】算法 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有…

#笨鸟先飞 猴博士电路笔记 第一篇 电路基础

第零课 基础知识串联与并联电源电势与电位差第一课 电阻电路的等效变换电压源串联电流源并联电压源和电流源串联电压源和电流源并联电压源转化为电流源电流源转化为电压源Δ-Y等效变换第二课 基尔霍夫定律基尔霍夫电流定律任一结点上流出电流之和等于流入电流之和。受控电流源&…