MySQL篇内容
- 一条SQL语句的执行流程
- InnoDB数据读取和写入过程
- 基本数据结构介绍
- MyIsAM InnoDB 等存储引擎
- 索引类型和方式、聚簇和非聚簇索引
- 回表、覆盖索引、最左前缀、联合索引、索引下推
- Explain分析SQL语句
- 索引失效的场景、索引优化方案
- TB级数据(600亿条)存储和访问
- 事务特征和隔离级别
- 乐观锁和悲观锁
- 分库、分表、分区
- 存储过程、定时任务
- MySQL 视图 (VIEW)
- Redis 和 MySQL 双写一致性
- 高并发高可用方案
- Join语句还能不能用?
- LEFT JOIN,RIGHT JOIN,INNER JOIN,UNION,UNION ALL
- 主从同步有延迟怎么办?
- .frm .myi .myd .ibd 文件
- 为什么表数据删掉一半,表文件大小不变?
- 误删表数据除了跑路,还能干啥?
- MySQL长连接导致内存溢出?
- MySQL自带的数据库
- 代码示例
- MySQL 相关阅读
Redis篇内容
- 为什么需要缓存
- Redis、Memcached 对比分析
- 数据结构以及应用场景
- 缓存雪崩、缓存击穿、缓存穿透
- 过期key的删除策略、内存淘汰机制
- 全量模式 RDB 冷备份(内存快照)
- 增量模式 AOF 热备份(文件追加)
- 监控、事务
- 分布式锁
- 使用Lua脚本保证原子性
- Redis 和 MySQL 双写一致性
- 集群模式 Redis Sentine 和 Redis Cluster
- 出现类似 MOVED 2602 127.0.0.1:8001 错误?
- 如何将两个 Key 存储在同一个 slot 中?
- 如何定位大 Key?
- 如何找出相同前缀的key?
- 删除大量key后内存变化不大?
- 三主三从集群部署过程
- 可视化工具 Redis Desktop Manager
- 代码示例
- Redis 相关阅读
Kafka篇内容
- 为什么需要消息队列
- Kafka、RabbitMQ 对比分析
- Kafka 相关概念
- 分区、副本、消费组
- 偏移量的最大值,消息的存储策略
- 如何解决重复消费和数据丢失问题?
- 如何确保一条消息只被一个服务消费?
- 如何让一条消息被多个服务消费?
- 如何按顺序消费消息?
- Kafka 相关命令行操作
- Windows 可视化工具 Kafka Tool
- 生产者代码示例
- 消费者代码示例
- Kafka 相关阅读