月度归档: 2026 年 7 月

67 篇文章

分库分表
分库分表是解决单机数据库性能瓶颈、支撑海量数据和高并发访问的核心架构手段。下面从「为什么做」「是什么」「怎么做」「常见问题」四个层面系统说明。 一、为什么要分库分表? 当业务发展到一定阶段,单机 MySQL / PostgreSQL 等关系型数据库往往会遇到以下问题: 问题表现数据量过大单表几千万~上亿行,B+树层级变深,查询变慢写入瓶颈单点写入 …
主从复制
**主从复制(Master-Slave Replication)**指的是:把一台主库(Master / Primary)的数据变更,异步或半同步地复制到一个或多个从库(Slave / Replica),让从库尽量保持与主库一致的数据状态。 下面按“是什么 → 为什么 → 怎么做 → 常见问题”来讲。 一、主从复制是什么? 核心特征只有一句话: 主…
WordPress 站点上线前必测:从功能到安全的 16 个关键用例与隐患复盘
很多 WordPress 站点上线时只关注“能打开、能发文章”,却忽略了大量隐蔽的安全风险和配置坑点。本文基于一次真实的 WordPress 验收测试,整理了16 个核心测试用例 + 8 个常见 Bug/隐患,覆盖访问控制、评论安全、发布功能、环境部署等关键场景,适合作为上线 checklist 或测试报告参考。 一、测试背景说明 本次测试对象为一…
Git 基本使用方法介绍
Git 是分布式版本控制系统,核心就管一件事:记录文件每次改动,随时能看历史、回退、多人协作不打架。新手不用背全命令,先把"工作区 → 暂存区 →本地仓库 →远程仓库"这条流转线搞懂就行。 1. 安装与首次配置 下载:https://git-scm.com/ ,Windows/Mac/Linux 装完在终端输入 git --version 有版本号…
索引(B+树)
下面系统性讲一下 B+ 树索引,这是数据库、文件系统中最核心的索引结构之一。 一、什么是 B+ 树索引? B+ 树(B+ Tree) 是一种多路平衡查找树,专门为磁盘/外存访问优化设计的索引结构。 特点一句话概括: 所有数据都在叶子节点,内部节点只存键用于导航;叶子节点通过链表相连,支持高效范围查询。 二、B+ 树的结构 一棵典型的 B+ 树: […
I/O 模型(阻塞/非阻塞/多路复用)
I/O 模型是操作系统处理“等待数据 + 拷贝数据”这两个阶段的不同策略,核心区别在于进程/线程在哪个阶段被卡住。下面按经典分类讲清楚,顺带把常见误解一次理清。 一、I/O 的两个阶段(必须先懂) 一次网络 I/O(比如 recv)通常分两步: 等待数据就绪:内核等待网卡收到数据,放入内核缓冲区 数据拷贝:内核把数据从内核缓冲区拷到用户缓冲区 不同…
死锁
死锁(Deadlock)是并发系统中多个进程/线程因互相持有对方所需资源且不释放,导致全体永久阻塞、无法继续推进的状态。 四个必要条件(Coffman 条件) 必须同时满足才会死锁,破任一即可避免: 互斥:资源只能被一个占用(如锁、打印机) 占有且等待:持有一资源的同时等待另一资源 不可抢占:已分配资源不能被强行夺走,只能主动释放 循环等待:A等B…
SQL 执行计划
SQL 执行计划(Execution Plan)是数据库优化器生成的、描述 SQL 语句如何被执行的“路线图”。它告诉你:数据库会用什么顺序访问表、走不走索引、怎么 JOIN、是否排序/分组、预计成本是多少,是性能调优的核心依据。 下面按「概念 → 怎么看 → 关键指标 → 常见算子 → 实战解读 → 调优思路」系统讲一遍。 一、什么是执行计划 执…
CPU 调度算法
CPU 调度算法是操作系统决定“下一个该让哪个进程/线程占用 CPU”的核心机制,目标是在吞吐量、响应时间、公平性、周转时间之间做权衡。下面按经典到现代、单核到多核的脉络系统梳理。 一、基础概念先对齐 抢占式 vs 非抢占式 非抢占:进程主动放弃 CPU(阻塞、结束)才调度 抢占:时间片用完或更高优先级到来,强行切走 核心评价指标 周转时间(Tur…
关系型(MySQL/PostgreSQL)vs 非关系型(Redis/MongoDB)
下面从核心差异 → 各数据库特点 → 选型对照 → 典型组合用法四个层面,系统对比 关系型(MySQL / PostgreSQL) 与 非关系型(Redis / MongoDB)。 一、核心差异一览表 维度关系型(MySQL / PostgreSQL)非关系型(Redis / MongoDB)数据模型表(行 + 列),强 SchemaRedis:K…