INDEX · 数据库
数据库
文章索引
MySQL
基础
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | DQL 查询 | 条件、聚合与分组查询 / 排序分页 / SELECT 的执行顺序 |
| 02 | 多表查询 | 内外连接与自连接 / UNION 去重 / 标量、列、行与表子查询 |
| 03 | 函数 | 字符串、数值、日期与流程函数 / RAND 验证码示例 |
| 04 | 事务 | 事务提交与回滚 / ACID / 并发读异常与隔离级别 |
| 05 | 基础篇拾遗 | DDL、DML 与 DCL / 用户权限管理 / 外键约束及更新删除行为 |
进阶
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | 存储引擎 | MySQL 分层架构 / InnoDB、MyISAM、Memory 差异 / 引擎选型 |
| 02 | InnoDB 引擎 | 表空间到页的逻辑结构 / Buffer Pool 与日志缓冲 / 磁盘结构和后台线程 |
| 03 | 索引 | B+Tree 与聚簇、二级索引 / EXPLAIN / 最左前缀、覆盖索引与回表 |
| 04 | SQL 优化 | 批量插入与主键设计 / 排序、分组与分页 / COUNT 和 UPDATE 优化 |
| 05 | 锁 | 全局锁、MDL 与意向锁 / 记录锁、间隙锁与临键锁 |
| 06 | 视图、存储过程与触发器 | 视图检查选项 / 存储过程变量、参数与游标 / 存储函数和触发器 |
| 07 | MySQL 管理 | mysqladmin、mysqlbinlog 与 mysqlshow / mysqldump 备份 / 数据导入导出 |
| 08 | 进阶篇拾遗 | redo 与 undo 如何支撑事务 / 隐藏字段、undo 版本链与 ReadView |
运维
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | 日志 | 错误、查询与慢查询日志 / Binlog 格式、查看和清理 |
| 02 | 主从复制 | Binlog 到 Relay Log 的复制链路 / 主从配置与 server-id |
| 03 | 读写分离 | 一主一从读写分离 / 主库宕机的写入问题 / 双主双从部署 |
| 04 | 分库分表 | 垂直与水平拆分 / MyCAT 分片规则 / 分片管理与监控 |
| 05 | 运维篇总结 | 日志 / 复制 / 拆分 |
补充
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | GROUP_CONCAT 函数 | GROUP BY 分组后的字符串聚合 / 排序与自定义分隔符 |
| 02 | MySQL 总结拾遗 | LIKE、INSTR 与正则匹配 / AVG 条件占比 / NULL 处理与字符串截取 |
| 03 | MySQL 题目记录 | GROUP BY 与 CROSS JOIN / 派生表、子查询与 CTE 练习 |
| 04 | MySQL 的锁 | 锁粒度与兼容性 / RC、RR 下的快照读和当前读 / 幻读边界与死锁 |
Redis
基础与缓存
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | 数据类型 | 五种基础类型与 BitMap / 常用读写操作 / Key、TTL 通用命令 |
| 02 | Redis in Java | Jedis 与 RedisTemplate 接入 / JSON 序列化 / StringRedisTemplate 用法 |
| 03 | 缓存更新策略 | 三种主动更新模式 / Cache Aside 的删缓存与写数据库顺序 |
| 04 | 缓存穿透、击穿与雪崩 | 穿透的空值缓存 / 击穿的互斥与逻辑过期 / 雪崩的错峰与兜底 |
| 05 | 全局唯一 ID 与登录校验 | 时间戳与序列号生成 ID / Redis Token 登录 / 拦截器和 ThreadLocal |
| 06 | OpenResty、多级缓存与请求链路 | 浏览器、Nginx、Redis 与 JVM 多级缓存 / OpenResty 请求链路 / 缓存同步 |
| 07 | Redis 问题汇总 | Redis 与 MySQL 的执行路径对比 / 冷 Key 的逻辑过期和真实 TTL |
| 08 | Redis 问题记录 | 字符串比较与空值判断 / Session、JSON 和工具类使用 / 事务自调用失效 |
分布式能力
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | Redisson | Spring 配置接入 / RLock 的获取释放 / 可重入锁与 MultiLock |
| 02 | 超时释放、锁重试与 Watchdog | 主从切换的锁丢失风险 / 订阅通知与重试 / Watchdog 自动续期 |
| 03 | 秒杀、限购与锁误删 | 库存超卖与一人一单 / Lua 校验和消息队列下单 / 锁归属与原子释放 |
| 04 | 签到、点赞、关注、Feed 与 GEO | Set 关注与 ZSet 点赞 / Feed 滚动分页 / GEO 商户查询与 BitMap 签到 |
持久化与集群
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | 底层数据结构 | SDS、压缩列表与 quickList / dict、intSet 与跳表 / RedisObject 编码映射 |
| 02 | 内存与网络模型 | 过期删除与内存淘汰 / IO 多路复用和事件循环 / RESP 协议与 Pipeline |
| 03 | 持久化、集群与哨兵 | RDB 与 AOF 取舍 / 主从复制和分片集群 / Sentinel 故障转移 |
| 04 | Key 设计、批处理与主从配置 | Key 规范与 BigKey 控制 / 单机和集群批处理 / 部署及参数调优 |
工具与补充
| 序号 | 文章 | 内容 |
|---|---|---|
| 01 | Hutool API | 字符串、集合与类型转换 / Bean 拷贝和 JSON / 文件、HTTP 与参数校验 |
| 02 | HyperLogLog | 哈希前导零与分桶估算基数 / Redis PF 命令 / UV 统计的误差边界 |
| 03 | Lua 脚本 | 锁标识校验与删除合为原子操作 / 脚本传参与 Java 调用 |
| 04 | MyBatis API | Mapper 注解与 XML 动态 SQL / Wrapper 条件构造 / Service、分页与批量 API |
| 05 | Nginx | nginx.conf 结构 / 反向代理与负载均衡 / 静态资源和常用命令 |
| 06 | Redisson 详解 | 分布式锁与 Java 对象 / 本地缓存、批处理和事务 / 唯一约束与消息可靠性边界 |
| 07 | 悲观锁与乐观锁 | 先加锁与冲突后重试 / CAS、版本号和数据库锁 / 并发场景选型 |