自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(404)
  • 问答 (2)
  • 收藏
  • 关注

原创 6-2 MySQL 数据结构选择的合理性

MySQL数据结构选择的合理性主要基于磁盘IO效率的优化。文章分析了多种索引结构的优缺点: 哈希索引虽然查询效率高(O(1)),但不支持范围查询和排序,仅Memory引擎支持 二叉搜索树和AVL树存在高度过高导致磁盘IO次数多的问题 B-Tree作为多路平衡查找树,通过增加分支数降低树高度,显著减少IO次数 B-Tree特性包括:根节点2-M个子节点、中间节点k-1个关键字和k个指针、所有叶子节点同层 最终选择B-Tree结构的原因是它能有效平衡查询效率与IO消耗,通过"矮胖"的树形结构

2025-06-03 10:49:14 757

原创 秒杀/高并发解决方案+落地实现 (技术栈: SpringBoot+Mysql + Redis +RabbitMQ +MyBatis-Plus +Maven + Linux + Jmeter ) -55

本文探讨了在高并发秒杀场景下使用Redis分布式锁的解决方案。项目采用了SpringBoot+Mysql+Redis+RabbitMQ+MyBatis-Plus等技术栈,针对秒杀业务的核心问题进行了优化。文章指出,虽然Redis的单操作(如decrement)具有原子性,能有效控制抢购,但对于需要多个Redis操作的复杂业务场景,仍需考虑使用分布式锁来保证操作的原子性。作者通过代码示例展示了如何实现Redis分布式锁,包括获取锁(setnx)、执行业务逻辑(库存预减)以及使用Lua脚本释放锁的过程。该方法可

2025-06-03 10:35:25 940

原创 秒杀/高并发解决方案+落地实现 (技术栈: SpringBoot+Mysql + Redis +RabbitMQ +MyBatis-Plus +Maven + Linux + Jmeter )

本文介绍了秒杀系统中高并发场景下的接口地址隐藏解决方案。通过生成唯一抢购路径并存储于Redis(有效期60秒),客户端需携带该路径进行验证后才能继续抢购流程,有效防止脚本攻击和非法请求。技术栈采用SpringBoot+MySQL+Redis+RabbitMQ+MyBatis-Plus组合,关键实现包括:RespBeanEnum枚举类定义状态码、OrderService接口新增路径生成与验证方法、OrderServiceImpl类通过MD5生成UUID路径并存入Redis。该方案解决了固定接口地址的安全隐患,

2025-05-29 10:58:44 729

原创 秒杀/高并发解决方案+落地实现 (技术栈: SpringBoot+Mysql + Redis +RabbitMQ +MyBatis-Plus +Maven + Linux + Jmeter )

本文介绍了基于Redis预减库存的高并发秒杀系统优化方案。该方案使用SpringBoot+Mysql+Redis+RabbitMQ等技术栈实现,通过将库存信息预加载到Redis中,利用Redis的原子性decrement操作实现库存扣减,有效降低数据库压力。关键实现步骤包括:1)系统启动时通过InitializingBean接口将商品库存预加载到Redis;2)用户下单时先在Redis中执行原子性库存预减;3)当Redis库存不足时直接返回,避免无效请求冲击数据库;4)成功下单后异步处理订单。该方案解决了传

2025-05-29 10:38:10 896

原创 秒杀/高并发解决方案+落地实现 (技术栈: SpringBoot+Mysql + Redis +RabbitMQ +MyBatis-Plus +Maven + Linux + Jmeter ) -02

本文介绍了基于SpringBoot等技术栈的秒杀高并发解决方案中自定义参数解析器的实现。通过实现HandlerMethodArgumentResolver接口,开发了UserArgumentResolver类,用于将HTTP请求中的Cookie值自动转换为User对象。该方案通过WebConfig配置类注册自定义解析器,并优化了静态资源加载。实现后可在控制器方法中直接获取User对象,简化了登录验证流程,提升了开发效率。技术栈包括SpringBoot、MySQL、Redis、RabbitMQ等,适用于高并发

2025-05-24 09:19:40 967

原创 秒杀/高并发解决方案+落地实现 (技术栈: SpringBoot+Mysql + Redis +RabbitMQ +MyBatis-Plus +Maven + Linux + Jmeter )- 01

本文介绍了一个基于SpringBoot技术栈的秒杀/高并发系统解决方案。系统采用Mysql、Redis、RabbitMQ等技术实现高并发读写处理,解决了秒杀场景下的并发读、并发写问题。方案包含页面缓存、Redis预减库存、请求削峰、分布式Session共享等关键技术。文章详细说明了密码加密设计,采用双重MD5加盐机制确保安全性,并提供了密码工具类实现代码。系统架构上实现了高可用、数据一致性和高性能,满足秒杀活动在大流量下的稳定运行需求。项目代码已开源在Github和Gitee平台。

2025-05-24 09:07:14 866

原创 最全最详细的 IDEA 快捷键大全

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-05-06 12:50:16 713

原创 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)05

通用型产品发布解决方案(基于分布式微服务技术栈:SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven+Linux+Docker+Nginx - 《05》最后:启动时,所有配置信息启动,加载配置启动 Oracle VM VirtualBox 虚拟机启动 Nacos 服务器进入到 VB 虚拟机当中的 Linux 系统,启动 Docker 容器当中的,Nginx 和 MySQL。

2025-05-06 12:43:34 733

原创 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)04

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-29 11:14:44 948

原创 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)03

补充:renren 的分页插件打括号的查询提供,分组,括号查询配置类(引入分页插件)在对应项目,或者微服务当中的 config 配置目录下创建,MyBatisConfig.java,MyBatis-plus 的分页插件的配置类层级定位可以省略可以省略写SPU 和 SKU 的概念和实现SPU 的概述SKU 的概述:SPU 和 SKU 的关系:写,特别的P550P564分析一个 JSON 格式内容,将 console 输出的 json 字符串,格式化一下好看: https://www

2025-04-29 10:56:38 349

原创 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)02

自定义校验器在什么时候会使用到?当前我们通过 Postman 添加品牌, 传入的 isshow 不是 0 或者 1, 服务端是校验不到的,先看问题方案 1: 使用正则表达式来解决,但是实际正则表达式不能使用在数值类型. 是不会生效的, 看测试方案 2: 自定义校验器:效果:自定义校验器/注解,全程可以参考 @NotNull 源码来编写因为这个校验在各个模块都可能使用,因此在 公共模块开发修改 pom.xml , 引入自定义校验器相关 jar引入自定义校验注解 jar。

2025-04-22 11:58:38 944

原创 通用型产品发布解决方案(SpringBoot+SpringCloud+Spring CloudAlibaba+Vue+ElementUI+MyBatis-Plus+MySQL+Git+Maven)01

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-22 11:38:58 733

原创 7. MySQL 当中的 InnoDB 数据存储结构(详解)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-09 14:28:56 835

原创 11. RabbitMQ 消息队列 Federation (Exchange 交换机和 Queue队列) + Shovel 同步的搭建配置

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-09 14:20:37 1027

原创 10. RabbitMQ 负载集群的详细搭建以及“镜像队列”的搭建配置说明

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-08 11:18:50 1225

原创 9. RabbitMQ 消息队列幂等性,优先级队列,惰性队列的详细说明

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-08 11:04:09 1135

原创 8. RabbitMQ 消息队列 + 结合配合 Spring Boot 框架实现 “发布确认” 的功能

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-06 12:19:59 1775 1

原创 7. RabbitMQ 消息队列——延时队列(Spring Boot + 安装message_exchange“延迟插件“ 的详细配置说明)的详细讲解

延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望 在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的 元素的队列。场景:有一个订单,15 分钟内如果不支付,就把该订单设置为交易关闭,那么就不能再进行支付了,这类实现延迟任务的场景就可以采用延时队列的方式来实现,当然除了延时队列,还可以采用其它的方式——> 定时任务的方式。订单在十分钟之内未支付则自动取消。新创建的店铺,如果在十天内都没有上传过商品,则自动发送消息提醒。

2025-04-06 12:06:49 1885 1

原创 6. RabbitMQ 死信队列的详细操作编写

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-04 17:24:51 1285

原创 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-04 17:17:11 1254

原创 4. RabbitMQ 发布确认的配置详细说明

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-03 16:49:02 1077

原创 3. RabbitMQ 的(Hello World) 和 RabbitMQ 的(Work Queues)工作队列

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-04-03 16:38:42 1229

原创 2. RabbitMQ 的详细安装步骤(两种方式,第一种:yum 安装;第二种:docker 容器安装)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-31 08:59:45 1336

原创 1. 初始 RabbitMQ 消息队列

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-31 08:49:12 981

原创 130 道基础OJ编程题之: 108 ~ 119

130 道基础OJ编程题之: 108 \~ 119

2025-03-18 08:48:54 806

原创 130道基础OJ编程题之: 89~107

130道基础OJ编程题之: 89~107

2025-03-18 08:40:47 284

原创 130道基础OJ编程题之: 78~88

130道基础OJ编程题之: 78~88

2025-03-09 09:36:25 636

原创 6. MySQL 索引的数据结构(详细说明)

MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。索引的本质:索引是数据结构。你可以简单理解为“排好序的快速查找数据结构”,满足特定查找算法。这些数据结构以某种方式指向数据, 这样就可以在这些数据结构的基础上实现高级查找算法。索引是在存储引擎中实现的,因此每种存储引擎的索引不一定完全相同,并且每种存储引擎不一定支持所有索引类型。同时,存储引擎可以定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。

2025-03-09 09:27:22 1230

原创 5. MySQL 存储引擎(详解说明)

MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的 默认事务型引擎 ,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。除了增加和查询外,还需要更新、删除操作,那么,应优先选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。数据文件结构:(在《第02章_MySQL数据目录》章节已讲)

2025-03-07 09:04:14 1039

原创 130道基础OJ编程题之: 68~77

130道基础OJ编程题之: 68~77

2025-03-07 08:56:58 387

原创 Linux: Centos 安装 docker 可能存在镜像问题-下载失败

Linux: Centos 安装 docker 可能存在镜像问题-下载失败

2025-03-04 10:00:02 243

原创 Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-04 09:53:35 705

原创 Linux 当中 Shell 编程(超级详细快速入门上手到熟悉)

Shell被翻译为“壳”。在Linux内核外面包了一个壳。Shell是一种用于与操作系统进行交互的命令行解释器。它是一种脚本语言,可以通过编写一系列的命令和脚本来执行操作系统的功能和任务。我们在终端中编写的命令都是Shell命令。例如:ls、grep…等。Shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。看一个示意图。

2025-03-03 13:57:47 2185

原创 Linux 安装可视化管理-webmin 和 bt(宝塔面板) 运维工具(超详细步骤,附有截图)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-03 13:46:22 1064

原创 8. Nginx 配合 + Keepalived 搭建高可用集群

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-02 09:40:19 1181

原创 7. Nginx 工作机制&参数设置(详细讲解说明)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-02 09:27:21 931

原创 6. Nginx 动静分离配置案例(附有详细说明+配图)

什么是动静分离:Nginx 动静分离简单来说就是把动态跟静态请求分开,可以理解成使用Nginx 处理静态 页面/资源,Tomcat 处理动态页面/资源。动静分离可以减轻 Tomcat 压力,静态请求由 Nginx 处理,提供系统整体性能。示意图:需求说明:图解访问: www.rainbowseacrm.com/search/cal.jsp ,其中的 jsp 的文件内容上的图片,静态资源的获取内容集,将静态资源放入到 Nginx 当中,提升加载速度内容。动静配置-思路分析 / 图解。

2025-03-01 09:02:28 955

原创 5. Nginx 负载均衡配置案例(附有详细截图说明++)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-03-01 08:56:37 1535

原创 3-2 Nginx 的 Location 块 + Location 语法规则详细剖析说明讲解

location 指令语法:语法: location [ = | ~ | ~* | ^~ ] url {...}语境: server,location: 表示精确匹配,优先级最高,匹配了就返回。不会再往下走了。: 表示正则匹配(区分大小写的匹配)。~*: 表示正则匹配(不区分大小写的匹配)。^~: 表示配置了这个的是普通匹配,这个特殊的普通匹配,一旦匹配成功后,就不会往下匹配判断了,而是直接返回了。uri: 之前不包含=,~,~*,^~为普通匹配。

2025-02-28 14:21:08 1460

原创 3. Nginx 命令行参数 & nginx.conf 配置文件的详细说明(附有截图说明)

在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。

2025-02-28 14:17:06 1023

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除