- 博客(64)
- 收藏
- 关注
原创 秒杀-订单创建消费者CreateOrderConsumer
这个类是基于MassTransit框架的消息消费者,负责接收 “库存扣减成功” 的消息并创建秒杀订单,同时通过消息通知库存服务确认订单状态。
2025-11-08 21:26:00
189
原创 秒杀-StockConfirmQueue
这个类是 MassTransit 框架中的另一个关键消费者,负责接收 “订单创建确认” 消息,并更新库存服务本地消息表的状态,标志着整个秒杀流程的最终闭环。
2025-11-08 21:25:19
110
原创 秒杀-StackExchangeRedisHelper连接单例
这个工具类的核心作用是提供一个线程安全的 Redis 连接单例,确保应用程序中始终使用同一个 ConnectionMultiplexer 实例操作 Redis,避免频繁创建连接带来的性能损耗。所有 Redis 操作都可通过该工具类获取连接,避免重复开发连接管理逻辑。
2025-11-07 16:45:06
247
原创 秒杀-Masstransit配置
Program.cs 调用 AddConsumerListener() → 触发 配置 → 框架自动创建 RabbitMQ 连接、交换机、队列,并将消费者与队列绑定 → 消费者可监听并处理队列中的消息。Program.cs 中的 builder.Services.AddConsumerListener() 是 MassTransit 消息队列框架的核心配置,负责将消费者(CreateOrderConsumer、StockConfirmQueue)与 RabbitMQ 绑定,实现消息的接收和处理。
2025-11-07 16:29:12
344
原创 RuoYi .net-实现商城秒杀下单(理解redis,rabbitmq的使用)-超级详细
在项目启动时,我会初始化三个商品。即在数据库手动加入三个商品,和手动在redis中创建这三个商品的库存键值对,详见。开始下单,当用户点击下单时会做以下操作:用户发起秒杀请求:1. 获取分布式锁 :获取锁失败返回秒杀拥挤2. 检查重复下单 :通过 Redis 检查用户是否已下单,已下单释放锁 → 返回"不可重复下单"3. 检查Redis库存:判断库存是否充足 库存不足 释放锁 → 返回"库存不足"4. Redis扣减库存。
2025-11-07 16:06:22
825
原创 .net实现秒杀商品(Redis高并发)
模拟不同用户在同一时刻对一件商品进行秒杀,每次调用随机一个userId,代表不同的用户。设置三个键userRecordKey(记录用户是否已经秒杀过这个商品),stockKey(商品的库存),lockKey(互斥锁,是分布式锁机制的核心标识。过这个键的 “存在 / 不存在” 来标识 “是否有线程在操作华为手机的秒杀资源”,从而实现 多线程或者多服务器之间的互斥访问。当某个线程获取锁时,会在 Redis 中创建这个 lockKey。
2025-11-05 15:31:29
367
1
原创 RuoYI框架.net版本实现Redis数据隔离
名为"泛型类",这就来到关键的地方了,怎么能实现数据隔离,同时存在相同的键,就是在这里,TMark是一个类型标记,主要用途是,区分不同的redis的使用场景,也就是我们的UserCache和Cache。你可以看到RedisHelper继承了RedisHelper,并传入了RedisHelper,继续点父类的RedisHelper。可能要问为什么要这么写,继续看别人封装的Redis工具类,你可以看到在Controller里面可以直接使用RedisHelper进行操作。,已初始化Instance。
2025-11-04 09:22:55
494
原创 Masstransit(三)延迟消息
bus = bus;if (!Console.WriteLine(context.Message.username + "准备发送delay队列");Console.WriteLine("延迟消息已提交");= null)// Console.WriteLine("发送了消息");// else Console.WriteLine("未监听到direct");elsereturn;
2025-10-31 11:29:22
808
原创 前后端分离项目部署到linux云服务器并绑定域名
凌晨4点,终于将拉下来的RuoYi前后端部署到linux服务器,至此终于有了自己的网站。凌晨九点我醒来,决定写下这一流程,免费给大家参考。由于是第一次,有不足之处,敬请谅解!首先,我们要有一个类似www.baidu.com(域名)的网站,可以让所有人搜索,我们应该做些什么。购买域名 >> 域名备案 >> 购买服务器 >> 将域名绑定到服务器的公网Ip >> 在服务器中部署前后端项目以及数据库 (在前端配置中,访问的地址改为域名) >> 启动。当启动完成后我们就有了我们想要的结果。
2025-07-26 19:15:30
336
原创 YOLOv11n 训练足球比赛场上球员数据集实战
在计算机视觉领域,目标检测技术有着广泛的应用,而足球比赛场上球员的检测正是其中一个重要且有趣的场景。本文将介绍如何使用 YOLOv11n 模型训练一个足球比赛场上球员的数据集,帮助读者快速上手并实现这一功能。yolo11n足球比赛球员识别。
2025-07-03 14:40:27
346
原创 机器学习神经网络-文本分类
文本分类是基于yolov11模型,THUCNEWS数据集,数据集包含 14 个主要新闻分类,涵盖体育、财经、房产、家居、教育、科技、时尚、时政、游戏和娱乐等多个领域。介绍模型搭建,拿来即用,需要源码和数据集私信我。
2025-06-19 17:38:28
339
原创 MiniExcel模板填充Excel导出
2.模板导出时一定要,自己首先做好模板的样式,保存在上面的templatePath中。1.把要导出的属性加上ExcelColumn。
2025-06-06 14:27:21
1247
原创 多级缓存学习理解
https://search.bilibili.com/all?vt=61788358&keyword=c%23%E7%BC%93%E5%AD%98&from_source=webtop_search&spm_id_from=333.788&search_source=5
2025-04-25 15:29:31
176
原创 elementui日历显示红点及根据日程范围判断是否有红点
/ 判断当前日期是否在选定日期范围内。// 生成所有日期范围内的日期。// 显示某天的日程列表。生成指定日期范围内的所有日期。
2025-04-24 16:56:11
657
原创 git -学习笔记
git init 初始化仓库git add + 文件名,添加到仓库git commit -m "信息"提交到仓库git status 查看仓库状态git diff + 文件名 看看修改了什么内容。
2025-02-27 17:29:53
1382
原创 sql server笔记
创建数据库插入 insert into aaa ( name ) values ('asd')/* 更新*/update aaa set name='我是' where id=1/* 删除*/go/*条件查询*/select id as '标识',name as '姓名',score as 分数/* score >20 and score <90 可以替换成between 50 and 90不为空条件 where score is not null*/
2025-02-25 16:18:21
925
原创 java调用百度云人脸识别API
System.out.println("百度返回的user对象:"+user.toString());System.out.println("这是res========="+res);// 给上传的图片命名,格式:用户名_当前时间的毫秒数.jpg。//识别到的用户信息。
2024-11-01 10:15:17
1352
原创 vue移动端适配问题
<meta name="viewport" content="width=device-width, initial-scale=1" /> @media screen and (device-width: 390px) {}
2024-10-16 12:46:33
168
原创 解决element-ui图标不出现,或者乱码问题(已解决)复制粘贴
其实就是资源没找到,需要你手动添加。通过百度网盘分享的文件:css链接:https://pan.baidu.com/s/1jLngnKV3PuDYu2ohSlE5IQ?pwd=t1z9 提取码:t1z9https://pan.baidu.com/s/1jLngnKV3PuDYu2ohSlE5IQ?pwd=t1z9 提取码:t1z9
2024-10-10 09:32:34
487
原创 Echarts实现订单数据统计,前端+后端 代码
以下是静态统计图可以直接看到统计图,复制粘贴即可看到效果,但是数据是死的。下面我会介绍一种动态的方法 ,后端动态返回,基于订单页面的数据,来渲染统计图。
2024-10-08 20:33:40
857
原创 前端登录页面验证码
函数用于处理验证码输入的验证逻辑,确保用户输入了正确的验证码。如果输入为空或输入错误,都会通过回调函数返回相应的错误信息,从而提供用户友好的反馈。首先,在el-form-item里有两个div,各占一半,左边填验证码,右边生成验证码。在data()里(不在return里面)整个。ValidCode代码cv就可以。methods里忽略大小写。
2024-10-01 11:28:17
1016
原创 路由守卫,不同的角色访问不同的页面。
这是一个全局前置守卫,它在每次路由变化之前被调用,从而可以在访问某个路由之前添加逻辑。这个前置守卫确保了只有角色为 "管理员" 的用户能访问特定的路由,增强了安全性。应该包含用户的角色属性,通过这个属性来判断用户是否有权限访问某一特定路径。: 这个数组定义了需要管理员权限才能访问的路由。: 这段代码试图从本地存储中获取名为。',确保我们总是有一个对象进行解析。,使用逻辑或操作符将其替换为。的项,如果找不到则返回。
2024-10-01 11:13:59
355
原创 分页查询前后端代码
默认值,第一次查询没有页码和页面大小所以给个默认值,因为我有帐号和姓名的模糊查询所以,后端会根据这四个值来返回前端所需要的数据。每次改变页码或者页号,发送一次请求。在table表格下,写样式。
2024-10-01 11:11:14
784
原创 form表单校验
model="form"数据来源为data里面的form,表单项目要绑定值否则不生效。:rules="rules" 对应规则。ref="formRef" 校验。
2024-10-01 11:01:51
231
原创 vue配置request.js(最后有完整代码)
最后,这个配置好的 Axios 实例被导出,以便在应用的其他部分中使用。这段代码的主要作用是创建一个配置好的 Axios 实例,方便地处理 HTTP 请求和响应,包括设置请求头、处理身份验证、以及在接收到特定状态码时进行页面跳转。通过使用拦截器,能够集中管理请求和响应的行为,使代码更加简洁和可维护。
2024-09-28 11:19:51
2035
把项目部署到服务器为什么会出现某些请求出现404的情况
2024-10-02
关于考勤人脸识别的疑惑
2024-04-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅