MySQL 架构设计:数据库的“城市规划指南“

就像一座完美城市需要精心的规划才能高效运行,一个优秀的 MySQL 系统也需要精心的架构设计才能支撑业务的发展…让我们一起探索 MySQL 的"城市规划",学习如何设计一个既高效又稳定的数据库王国!
什么是 MySQL 架构设计?🤔
MySQL 架构设计是规划和构建 MySQL 数据库系统的过程,包括物理部署、逻辑结构、高可用性策略等。简单来说:这是数据库的"城市总体规划",决定了数据如何存储、访问和管理,就像城市规划决定了人们如何生活、通勤和享受服务!
MySQL 的"城市布局图" 🗺️
1️. 服务器层次架构 - “城市行政区划”
场景:城市规划会议
规划师:"我们的城市分为几个主要区域:市中心(Server层)负责管理和决策,各个功能区(存储引擎层)负责具体工作..."
市长:"这样划分有什么好处?"
规划师:"职责明确,各区可以独立发展自己的特色,同时整体协调一致!"
MySQL 的两层架构:
| 架构层 | 城市比喻 | 主要职责 |
|---|---|---|
| Server 层 | 市政中心 | 连接处理、SQL 解析、查询优化、缓存、调度 |
| 存储引擎层 | 功能区/社区 | 数据的实际存储、管理和操作 |
数据库顾问:"MySQL的架构就像一个城市有统一的市政管理,但允许不同社区有自己的特色。你可以在同一个城市里同时拥有现代化商业区(InnoDB)和历史文化保护区(MyISAM)!"
2️. 逻辑架构 - “城市功能分区”
场景:功能规划
规划师:"从功能角度看,我们的城市分为入口区(连接层)、商业区(SQL层)和居住区(存储层)..."
MySQL 的三层逻辑架构:
| 逻辑层 | 城市比喻 | 功能描述 |
|---|---|---|
| 连接层 | 城市入口/车站 | 处理客户端连接、认证和安全 |
| SQL 层 | 商业/办公区 | 查询解析、优化、缓存和内置函数 |
| 存储引擎层 | 居住区/工业区 | 数据存储和检索 |
-- 不同"社区"(存储引擎)可以共存在同一个"城市"(数据库)中
CREATE TABLE modern_data (id INT PRIMARY KEY
) ENGINE=InnoDB; -- 现代化商业区,支持事务CREATE TABLE archive_data (id INT PRIMARY KEY
) ENGINE=MyISAM; -- 档案存储区,读取性能优先
资深DBA:"客户端连接MySQL就像游客进入城市 - 先经过安检(连接层),然后去商业区办事(SQL层),最后可能参观或入住不同特色的社区(存储引擎层)。"
3️. 物理架构 - “城市基础设施”
场景:基础设施规划
工程师:"城市需要道路(网络)、供水供电(系统资源)和各类建筑(服务器)..."
关键组件:
| 物理组件 | 城市比喻 | 功能 |
|---|---|---|
| 服务器硬件 | 城市建筑 | 提供运行环境 |
| 网络设施 | 城市道路系统 | 连接各组件,提供访问通道 |
| 存储系统 | 城市仓库区 | 存储数据文件、日志等 |
| 内存资源 | 城市公共空间 | 提供查询执行和缓存的空间 |
系统架构师:"硬盘就像城市的仓库区,访问很慢但容量大;内存就像繁华的市中心,空间有限但访问迅速;网络就像连接各区的高速公路,宽度决定了交通效率。"
MySQL 架构的"城市发展模式" - 部署架构 🏗️
1. 单体架构 - “小型乡村模式”
场景:小镇规划
规划师:"对于小型社区,一个多功能综合楼就足够了 - 政府、商业、服务一体化..."
特点:
- 所有组件部署在单一服务器
- 简单易管理,适合小规模应用
- 成本低,但可靠性和性能有限
初创公司CTO:"我们现在就像一个小镇,一栋多功能建筑就能满足所有需求,员工、办公室和工厂都在一起,虽然不够优雅但效率很高!"
2. 主从架构 - “卫星城模式”
场景:城市扩张
规划师:"随着人口增长,我们建立了卫星城 - 主城区处理行政事务,卫星城分担居住和部分工作职能..."
主从复制架构:
| 组件 | 城市比喻 | 职责 |
|---|---|---|
| 主节点 | 主城区 | 处理写操作,同步数据到从节点 |
| 从节点 | 卫星城 | 处理读操作,从主节点复制数据 |
-- 配置主服务器
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW-- 配置从服务器
[mysqld]
server-id=2
relay-log=mysql-relay-bin
电商平台架构师:"我们的应用就像一个有主城区和卫星城的都市圈 - 订单处理(写操作)都集中在主城区,而商品浏览和搜索(读操作)分散在各个卫星城,这样主城区就不会交通堵塞(负载过高)。"
3. 分片架构 - “多中心城市群模式”
场景:大都市圈规划
规划师:"超大型城市群需要多个独立又协作的城市中心,每个中心负责特定区域或功能..."
水平拆分特点:
- 按照某种规则将数据分布到多个独立数据库
- 每个分片可以独立部署和扩展
- 适合超大规模数据
场景:电商数据库分片
架构师:"我们按用户ID的哈希值将用户分到32个城市中心(分片),每个中心负责特定范围用户的所有服务 - 这就像一个巨型城市群,市民只需要去自己所属的中心城市办事,无需横跨整个城市群。"
-- 分片路由示例(伪代码)
function getShardId(user_id) {return user_id % 32; // 根据用户ID确定所在分片
}// 查询特定用户数据
shard_id = getShardId(user_id);
query "SELECT * FROM users WHERE id = $user_id" on shard[shard_id];
4. 微服务架构 - “功能型社区模式”
场景:现代城市规划
规划师:"现代城市不再是单一大中心,而是由多个功能独立、自给自足的社区组成,每个社区有自己的商业、教育和娱乐设施..."
特点:
- 按业务功能拆分成独立服务
- 每个服务有自己的专用数据库
- 服务间通过 API 通信
技术总监:"我们的用户系统、订单系统、支付系统和库存系统,每个都像一个功能独立的社区,有自己的数据库(居民区)和服务(商业区),它们通过API(城际公路)相互通信,而不是挤在一个数据库里。"
设计数据库"城市"的原则 - 架构设计实践 📐
1. 可扩展性原则 - “城市预留发展空间”
场景:未来规划
规划师:"明智的城市规划会预留扩张空间,主干道设计得比当前需求宽,为未来交通增长做准备..."
实践建议:
- 水平分层设计,便于按层扩展
- 使用分布式架构,避免单点瓶颈
- 模块化设计,支持灵活扩展
架构师:"好的数据库设计就像智慧城市规划 - 不是为当前人口规模设计,而是考虑未来10年的增长需求。"
2. 高可用性原则 - “城市不间断运行”
场景:城市应急规划
应急主管:"现代城市必须能够应对自然灾害 - 备用电源、多条供水线路、替代交通方案..."
高可用架构特点:
- 冗余设计,避免单点故障
- 自动故障转移机制
- 地理分散部署,防灾备灾
数据库管理员:"我们的主从架构加自动故障转移,就像城市的备用电力系统 - 主电网(主库)出现故障,备用系统(从库)会在几秒内自动接管,市民(用户)几乎感觉不到中断。"
-- 使用ProxySQL设置自动故障转移(配置示例)
mysql_servers:
({address: "master-db.example.com"port: 3306hostgroup: 10status: "ONLINE"weight: 1},{address: "slave-db-1.example.com"port: 3306hostgroup: 20status: "ONLINE"weight: 1}
)mysql_query_rules:
({rule_id: 1active: 1match_pattern: "^SELECT .* FOR UPDATE"destination_hostgroup: 10apply: 1},{rule_id: 2active: 1match_pattern: "^SELECT "destination_hostgroup: 20apply: 1},{rule_id: 3active: 1match_pattern: "."destination_hostgroup: 10apply: 1}
)
3. 性能优化原则 - “城市交通畅通”
场景:交通规划
交通工程师:"城市效率取决于交通系统 - 合理的道路网络、科学的信号灯控制、快速的公共交通..."
性能优化策略:
- 读写分离,提高并发能力
- 合理使用缓存,减少磁盘访问
- 索引优化,加速数据检索
性能优化专家:"数据库优化就像城市交通优化 - 索引是快速通道,缓存是便捷的公交系统,分区是城市环线,都是为了让数据的流动更加顺畅。"
-- 读写分离配置示例
# 主库配置
[mysqld]
server-id=1
log-bin=mysql-bin# 从库配置
[mysqld]
server-id=2
relay-log=relay-log-bin
read_only=ON# 应用代码中实现读写分离(伪代码)
if (is_write_operation()) {connect_to_master();
} else {connect_to_slave();
}
4. 安全性原则 - “城市安全防护”
场景:城市安全规划
安全专家:"城市需要多层次安全体系 - 边界检查站、社区门禁、重要设施特殊保护..."
安全架构设计:
- 网络隔离,使用防火墙保护
- 权限最小化原则
- 数据加密存储与传输
安全架构师:"数据库安全就像城市安全 - 防火墙是城墙,权限控制是门禁系统,加密是保险柜,审计日志是监控摄像头,多层防御才能确保安全。"
-- 安全配置示例
# 网络安全
[mysqld]
bind-address=192.168.1.1# 访问控制
CREATE USER 'app_user'@'192.168.1.%' IDENTIFIED BY 'complex_password';
GRANT SELECT, INSERT ON product_db.* TO 'app_user'@'192.168.1.%';# 敏感数据加密
CREATE TABLE customers (id INT PRIMARY KEY,name VARCHAR(100),credit_card VARCHAR(255) ENCRYPT='Y'
);
MySQL 架构的"城市病" - 常见问题与解决方案 🚑
1. 拥堵问题 - “交通拥堵”
场景:城市交通拥堵
交通工程师:"主干道每天早晚高峰都堵得水泄不通,市民出行困难..."
数据库拥堵表现:
- 查询响应缓慢
- 连接数过高
- 锁等待时间长
解决方案:
- 读写分离分流查询压力
- 连接池管理数据库连接
- 优化锁策略,减少锁冲突
DBA:"数据库的连接池就像城市的公共交通系统 - 固定数量的车辆循环使用,比每人开一辆车(每次查询建立连接)效率高得多!"
2. 蔓延问题 - “无序扩张”
场景:城市无序扩张
规划师:"城市没有整体规划,各区随意发展,结果交通混乱,资源分配不均..."
数据架构蔓延表现:
- 数据库实例过多,管理复杂
- 数据重复,一致性难保证
- 职责不清,性能难优化
解决方案:
- 制定清晰的数据架构标准
- 集中化管理和监控
- 基于业务边界合理划分服务和数据
架构师:"无规划的数据库增长就像城市的无序蔓延 - 最初看起来是在解决问题,长期来看却制造了更大的问题。我们需要的是智慧增长,而不仅仅是增长。"
3. 孤岛问题 - “社区隔离”
场景:社区隔离
社会学家:"城市的不同区域之间缺乏有效连接,形成了'孤岛',阻碍了资源共享和社会融合..."
数据孤岛表现:
- 系统间数据同步困难
- 跨库查询性能低下
- 难以获得业务全景视图
解决方案:
- 实施数据湖/数据仓库战略
- 使用事件驱动架构促进系统集成
- 建立统一的数据访问层
集成架构师:"数据仓库就像城市的中央公园 - 它连接不同的社区,为所有人提供共享空间,让原本隔离的数据能够相遇并创造新价值。"
真实案例 - “城市改造计划” 🔄
案例 1:电商平台架构演进
场景:电商平台成长
架构师:"我们从小村庄发展到了大都市,架构也要相应升级..."
第一阶段:单体架构
- 单一 MySQL 服务器
- 所有业务表在同一数据库
- 适合初创阶段,日订单不超过 1000
第二阶段:主从架构 + 读写分离
- 1 主 2 从的 MySQL 架构
- 主库处理写入,从库负责读取
- 支持日订单约 10,000 的规模
第三阶段:垂直拆分
- 按业务领域拆分为用户库、订单库、商品库等
- 每个业务域有独立的主从集群
- 支持日订单约 50,000 的规模
第四阶段:水平分片
- 订单数据按用户 ID 哈希分片到 32 个库
- 商品数据按类目分片到 16 个库
- 支持日订单 100 万+的规模
电商CTO:"我们的数据库架构就像一个不断成长的城市 - 从单体建筑,到规划社区,再到卫星城,最终发展成为多中心的大都市圈。每一步都是为了应对更大的人口(数据量)和更复杂的需求(业务逻辑)。"
案例 2:金融系统高可用架构
场景:银行系统规划
系统架构师:"银行系统就像城市的供电网络 - 绝对不能停,需要多重备份..."
挑战:
- 7x24 小时不间断服务要求
- 零数据丢失容忍度
- 严格的合规和审计要求
解决方案:
架构示意图:主数据中心 灾备数据中心
+-------------+ +-------------+
| 主MySQL集群 | | 灾备MySQL集群 |
+-------------+ +-------------+| || 同步复制 | |
+-------------+ +-------------+
| 从库1(同步) | | 从库3(异步) |
+-------------+ +-------------+|| 异步复制|
+-------------+
| 从库2(异步) |
+-------------+
- 主库与从库 1 采用半同步复制,确保数据安全
- 其他从库采用异步复制,提供读扩展
- 跨地域灾备集群,应对区域性灾难
- 自动故障检测和故障转移系统
金融系统架构师:"银行的数据库就像城市的电力系统 - 有主电网,备用电网,应急发电机,以及跨区域的电力支援协议。所有这些都是为了一个目标:灯不能灭,服务不能停。"
架构设计的"城市规划指南" - 实用方法论 🧭
1. 需求分析 - “城市人口调查”
场景:城市规划前期
调研员:"在规划前,我们要了解预期人口、经济模式、地理特点..."
MySQL 架构设计前需要了解:
- 数据量级和增长趋势
- 并发访问量和峰值特征
- 可用性和延迟要求
- 业务重要程度和优先级
架构师:"设计架构前不了解需求,就像不做人口调查就规划城市 - 可能建了豪华办公区却没人用,缺了急需的住宅区。"
2. 分层设计 - “城市功能分区”
场景:城市区域规划
规划师:"城市要清晰分区 - 商业区、住宅区、工业区、公园..."
MySQL 架构分层:
- 存储层:数据文件、存储策略、磁盘配置
- 服务层:MySQL 实例、复制关系、分片策略
- 访问层:代理、路由、负载均衡
- 应用集成层:连接池、ORM 框架、缓存策略
数据架构师:"良好的分层设计让每一层可以独立演化和优化,就像城市中的工业区可以现代化而不影响历史街区的保护。"
3. 增长规划 - “城市未来发展规划”
场景:城市发展规划
规划师:"我们不仅规划当下,更要规划5年、10年后的发展路径..."
数据库增长路径规划:
-
单实例优化阶段
- 优化模式:“改善现有道路和建筑”
- 手段:硬件升级、参数优化、索引优化
-
扩展方案准备阶段
- 优化模式:“设计未来扩张的总体规划”
- 手段:设计分区策略、准备复制架构、评估分片键
-
架构演进阶段
- 优化模式:“实施城市扩建计划”
- 手段:部署主从复制、实施读写分离、执行垂直拆分
-
规模化阶段
- 优化模式:“建设多中心城市群”
- 手段:水平分片、跨区域部署、全球分布
资深架构师:"好的数据库架构应该像城市规划一样,能够支持从村庄到大都市的自然演进,中间不需要推倒重来。"
4. 健康监测 - “城市健康指标”
场景:城市健康监测
城市管理员:"我们通过空气质量、交通流量、犯罪率等指标监测城市健康状况..."
MySQL 监控指标:
| 指标类别 | 城市比喻 | 关键指标 |
|---|---|---|
| 性能指标 | 交通流量 | 查询响应时间、TPS、QPS |
| 资源指标 | 资源使用率 | CPU、内存、磁盘 I/O、连接数 |
| 健康指标 | 公共安全指标 | 慢查询数、锁等待、复制延迟 |
| 业务指标 | 经济活力指标 | 业务事务成功率、峰值处理能力 |
监控工程师:"数据库的监控仪表盘就像城市管理中心的大屏幕 - 通过各种指标实时了解'城市'的运行状况,及早发现拥堵(性能下降)或污染(数据错误)问题。"
“设计数据库架构就像规划一座城市 - 既要满足当前需求,又要考虑未来扩展;既要注重整体布局,又要关注细节执行;既要追求理想蓝图,又要适应现实约束。最重要的是,一个好的数据库架构应该像一个好的城市一样,在使用者看来是直观、高效且可靠的,让复杂的技术细节隐藏在简洁优雅的表面之下。”
—— 匿名数据架构总监
下次面试官问你 MySQL 架构设计,自信地说:那不过是一场数据的城市规划而已!不同的应用场景需要不同的"城市",小型应用也许只需要一个整洁的"小镇",而企业级应用则需要一个功能完备的"大都市",而超大规模应用则需要一个协调统一的"城市群"!🏙️
相关文章:
MySQL 架构设计:数据库的“城市规划指南“
就像一座完美城市需要精心的规划才能高效运行,一个优秀的 MySQL 系统也需要精心的架构设计才能支撑业务的发展…让我们一起探索 MySQL 的"城市规划",学习如何设计一个既高效又稳定的数据库王国! 什么是 MySQL 架构设计?…...
【从0到1学MybatisPlus】MybatisPlus入门
Mybatis-Plus 使用场景 大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国…...
依靠视频设备轨迹回放平台EasyCVR构建视频监控,为幼教连锁园区安全护航
一、项目背景 幼教行业连锁化发展态势越发明显。在此趋势下,幼儿园管理者对于深入了解园内日常教学与生活情况的需求愈发紧迫,将这些数据作为提升管理水平、优化教育服务的重要依据。同时,安装监控系统不仅有效缓解家长对孩子在校安全与生活…...
【简单理解什么是简单工厂、工厂方法与抽象工厂模式】
一、简单工厂模式 1.简单工厂模式 通过一个工厂类集中管理对象的创建 ,通过参数决定具体创建哪个对象。 #适合对象类型较少且变化不频繁的场景,缺点是违反开闭原则(新增产品需修改工厂类) 开闭原则(对扩展开放对修改关闭) :当…...
DeepSeek和文心一言的区别
文章目录 1.开发公司:2.应用场景:3.训练数据:4.模型架构:5.技术特点:6.语言风格:7.开源性:8.界面与用户体验: 1.开发公司: DeepSeek 由杭州深度求索人工智能基础技术研究…...
HOW - React Developer Tools 调试器
目录 React Developer Tools使用Components 功能特性1. 查看和编辑 props/state/hooks2. 查找组件3. 检查组件树4. 打印组件信息5. 检查子组件 Profiler 功能特性Commit ChartFlame Chart 火焰图Ranked Chart 排名图 why-did-you-render 参考文档: React调试利器&a…...
STM32F103C8T6单片机开发:简单说说单片机的外部GPIO中断(标准库)
目录 前言 如何使用STM32F1系列的标准库完成外部中断的抽象 初始化我们的GPIO为输入的一个模式 初识GPIO复用,开启GPIO的复用功能时钟 GPIO_EXTILineConfig和EXTI_Init配置外部中断参数 插入一个小知识——如何正确的配置结构体? 初始化中断&#…...
Oracle序列介绍
文章目录 Oracle序列介绍1. Oracle序列演进2. Oracle序列使用3. Oracle身份列(自增列)4. Oracle序列常见使用与问题 Oracle序列介绍 1. Oracle序列演进 Oracle序列(Sequence)是数据库生成唯一数值序列的对象,主要用于…...
docker的安装使用0废话版本自学软硬件工程师778天
见字如面, 这里是AIGC创意人_竹相左边 上一篇 因为 自己开发客户系统,为了解决一键启动 前端后端,涉及到了docker-compose 在新的电脑上安装docker 有各种问题这里再次记录下,既是笔记也是分享。 我先用自己的话说一遍࿰…...
探秘 Svelte+Vite+TS+Melt - UI 框架搭建,开启高效开发
框架太“重”了:通常一个小型项目只由少数几个简单页面构成,如果使用 Vue 或者 React 这些框架来研发的话,有点“大材小用”了。构建的产物中包含了不少框架运行时代码(虚拟 DOM、响应式、状态管理等),这些代码对于小型项目而言是…...
3D数据共享标准——GLB文件格式揭秘
GLB 文件格式:跨平台 3D 数据共享的标准 简介 在这个数据爆炸的时代,3D 数据因其直观、逼真的特点而得到广泛应用。然而,不同 3D 软件和平台之间的兼容性一直是一个难题。 为了解决这一问题,GLB 文件格式应运而生。作为一种标准…...
微信小程序事件绑定基本语法
微信小程序使用 bind 或 catch 前缀绑定事件,语法如下: <组件 bind事件名"处理函数" catch事件名"处理函数"></组件> bind:事件绑定,允许事件冒泡(向父组件传递)。 catc…...
页面编辑器CodeMirror初始化不显示行号或文本内容
延迟刷新 本来想延迟100毫秒的,但是会出现样式向左偏移的情况,于是试了试500毫秒,发现就没有问题了,可能是样式什么是需要一个加载过程吧。 useEffect(() > {editorRef.current?.setValue(value || );setTimeout(() > {edi…...
vscode 连不上 Ubuntu 18 server 的解决方案
下载 vscode 历史版本 18.5(windows请装在 系统盘 C 盘) 打开 vdcode,将 自动更新 设置为 None (很关键,否则容易前功尽弃) 重命名(删除) 服务器上的 .vscode-server 文件夹 重新…...
云原生运维在 2025 年的发展蓝图
随着云计算技术的不断发展和普及,云原生已经成为了现代应用开发和运维的主流趋势。云原生运维是指在云原生环境下,对应用进行部署、监控、管理和优化的过程。在 2025 年,云原生运维将迎来更加广阔的发展前景,同时也将面临着一系列…...
Redis进阶--哨兵
目录 一、引言 二、介绍 三、哨兵的核心功能 四、使用docker进行单个主机redis主从复制哨兵操作 五、哨兵重新选取主节点的流程 1.主观下线 2.客观下线 3.主节点挂了 4.挑选新主节点 六、总结 一、引言 如果主从复制中,主节点挂了,从节点会迷茫…...
Franka 机器人x Dexterity Gen引领遥操作精细任务新时代
教授机器人工具灵活操作难题 在教授机器人灵活使用工具方面,目前主要有两种策略:一是人类遥控(用于模仿学习),二是模拟到现实的强化学习。然而,这两种方法均存在明显的局限性。 1、人类遥控(用…...
UE5 RPC调用示例详解
文章目录 前言一、示例场景二、代码实现三、关键点解析3.1 RPC类型选择3.2 可靠性设置3.3 权限控制3.4 输入处理 四、测试与验证总结 前言 在UE5中,RPC(远程过程调用)是实现多人游戏逻辑同步的核心机制。以下通过一个玩家跳跃的示例…...
专题|MATLAB-R语言Logistic逻辑回归增长模型在互联网金融共生及移动通信客户流失分析实例合集
全文链接:https://tecdat.cn/?p41343 作为数据科学家,我们始终关注如何通过模型创新揭示复杂系统的动态规律。本专题合集聚焦两大核心应用场景,通过 Logistic 增长模型与逻辑回归技术,为互联网金融共生演化与移动通信客户流失预警…...
从零构建一个全栈AI应用:Next.js + FastAPI + OpenAI API
💡 为什么写这篇文章? 很多开发者希望构建一个能“聊天、问答、调用AI能力”的完整应用,但在前端、后端、模型接口之间打通时,常常踩坑。 今天这篇文章将手把手教你如何从零构建一个 AI 全栈应用: 前端用 Next.js 构…...
idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊
idea里面不能运行 node 命令 cmd 里面可以运行咋回事啊 在 IntelliJ IDEA(或其他 JetBrains 系列 IDE)中无法运行某些命令,但在系统的命令提示符(CMD)中可以正常运行,这种情况通常是由于以下原因之一导致的…...
Dify 生成提示词的 Prompt
Dify 生成提示词的 Prompt **第1次提示词****第2次提示词****第3次提示词**总结 Dify 生成提示词是,会和LLM进行3次交互,下面是和LLM进行交互是的Prompt。 以下是每次提示词的概要、目标总结以及原始Prompt: 第1次提示词 概要: …...
ocr python库
ocr python库 上手Git、Gitee和Github!watt toolkit...
【学生管理系统升级版】
学生管理系统升级版 需求分析:注册功能:登录功能:验证码规则:忘记密码: 实操:系统主页面注册功能登录功能忘记密码效果演示 需求 为学生管理系统书写一个登陆、注册、忘记密码的功能。 只有用户登录成功之后&…...
HTTP:二.URI及相关术语
HTTP相关技术和术语 WEB开发语言 **http:**Hyper Text Transfer Protocol 应用层协议,默认端口: 80/tcp WEB前端开发语言: htmlcssjavascripthtml Hyper Text Markup Language 超文本标记语言,编程语言,主要负责实现页面的结构 范例:html 语言 <html> <h…...
Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”
在Web3基础设施内卷加剧的今天,“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot,正在用一套名为 Polkadot 2.0 的架构升级方案,重新定义这一问题的解法。 这套升级最…...
【12】RUST智能指针
文章目录 智能指针Box<T>Rc<T>Weak<T>方法 Arc<T>RefCell<T>方法Ref<T>和RefMut<T> 常见使用方式 智能指针 Box<T> 数据存储在堆上只能有一个所有者 Rc<T> 单线程,引用计数不可变需要主要避免循环引用 …...
机器学习——ROC曲线、PR曲线
一、ROC曲线简介 1.1 ROC曲线的构成 1.横轴(假正率,FPR): 表示负样本被错误分类为正的比例(越小越好) 2.纵轴(真正率,TPR,即召回率): 表示正样…...
Unity AssetBundle依赖树可视化分析工具开发指南
一、需求分析与技术选型 1.1 需求背景 在Unity项目开发中,AssetBundle依赖关系管理是性能优化的关键。当项目资源量达到GB级别时,依赖树深度可能超过10层,容易导致: 资源重复打包(平均冗余率可达15%-30%)…...
WebStorm中使用live-server插件
文章目录 1. 前提条件1.1 已安装Node1.1.1 淘宝的镜像1.2 安装live-server1.3 安装WebStorm2. Windows配置hosts3. WebStorm配置live-server3.1 WebStorm创建3.2 启动 live-server1. 前提条件 1.1 已安装Node Windows PowerShell 版权所有(C) Microsoft Corporation。保留所…...
