说透 Redis7,核心原理剖析+源码解读+实践应用,全方位带你吃透 Redis7

你会获得什么?

  • 10 大模块,深度理解 Redis 优秀设计理念和优化思路;
  • 核心知识点全覆盖,彻底搞懂 Redis 7 运行机制;
  • 快人一步,熟练掌握 Redis 7 最新特性和使用技巧;
  • 通晓源码高效阅读法,提升编码功力和架构能力。

课程简介

Redis 作为全球最流行的 KV 数据库(在 Key-Value 分类中排名第一),是后端工程师的必备核心技能。

但不知道你在学习 Redis 的时候,是否会遇到下面这些问题:

  • 对 Redis 的某条命令或者某个功能,只是了解使用方式,其背后的原理不太清楚;
  • 自己特别想了解 Redis 的底层原理和工作机制,却不知道如何入手;
  • 在深入学习 Redis 某个特性的时候,找不到合适的资料,找到的资料都是只言片语的描述,或者片面的、浅尝辄止的描述,没有对一件事情全貌的描述;
  • 开始深入学习 Redis 的原理之后,发现触及的知识盲区直线上升,阻力越来越大,最终放弃;
  • ……

为破解你的这些困惑,本小册会从入门实战原理源码四个角度来全方位深入剖析 Redis,但并不会一上来就进行源码剖析,而是以由浅入深的方式带着你先学习 Redis 的设计理念和架构思想,然后再剖析关键部分的源码。

小册设置

本小册是基于 Redis 7.0 这个版本的源码进行介绍的。之所以选择 Redis 7.0 是因为 7.0 版本是一次非常重大的升级,在该版本中新增了非常多的新命令和新特性,性能方面也有非常大的提升

本小册应该也是 国内第一本系统、完整地介绍 Redis 7 的课程 了。

这里画一个思维导图(如下),将 Redis 7 全部的知识点分成了十大部分,也对应于本小册的模块设置。 

说透 Redis7,核心原理剖析+源码解读+实践应用,全方位带你吃透 Redis7

模块 0 的设置初衷是:考虑到各个小伙伴对 Redis 掌握程度并不一致,肯定有小伙伴是刚接触 Redis,另外也为了让我们学习起始能有个平缓的学习曲线,这里会介绍一些 Redis 的基础知识作为我们的先导入门。

这些都属于我们在学习 Redis 之前最基本的知识,对于你后续的理解和上手实践很重要。当然,对这些早就掌握的小伙伴,可以直接跳过,进入到后面的知识讲解中。

本小册的十大模块内容设置情况如下。

模块一:实战应用篇。主要是针对 Redis 实践经验较少的小伙伴。这一模块会和你一起学习 Redis 中五大类结构的常用命令,以及这五类结构在实战场景中的使用。

模块二:数据结构篇。主要讲解 Redis 中核心的数据结构,这些数据结构是模块一中那五大类结构的底层实现,是 Redis 非常重要的一部分知识点。除此之外,还会结合 Redis 7 的相关 PR,带领你了解 Redis 7 在数据结构方面的改进。

模块三:内核解析篇。主要侧重 Redis 内核的运行原理,重点解析 Redis 的 I/O 模型、线程模型,还会深度剖析 Redis 从接收请求到返回响应的全流程。

模块四:命令解析篇。结合前面模块的内容,带你了解 Redis 如何组合多种底层的数据结构,来支持五大类常用命令。当然,这个学习过程也会用到 Redis 内核知识,需要了解 Redis 处理请求的全流程。

模块五:持久存储篇。重点介绍 Redis 提供的 RDB 和 AOF 两种持久化方式,其中不仅会介绍两种持久化的基本原理和实现,也会结合 Redis 7 的 PR 分析 Redis 7 带来的优化。

模块六、七、八,侧重于分布式 Redis 的内容。首先分别在 Redis 主库和从库视角下,分析主从同步的实现原理,然后介绍 Sentinel 模式下如何实现监控和自动故障转移等功能,最后重点介绍 Redis Cluster 这种主流的分布式 Redis 存储方案。

模块九:生产者-消费者模式篇。 重点介绍 Redis 作为消息队列,实现生产者-消费者模式的几种方案,其中还会介绍 Redis 7 中的 Shard Pub/Sub 新方案。

模块十:扩展能力篇。 重点介绍 Redis 扩展方面的内容,其中会涉及到 Lua 脚本的扩展,以及 Redis 7 带来的 Functions 新特性。

课程目录

1 开篇词:如何才能精通 Redis?
2 先导基础篇:初识 Redis
3 先导基础篇:10 分钟 C 语言入门
4 先导基础篇:Redis 7.0 环境搭建与 PR 阅读指导
5 实战应用篇:Redis String 命令与实战
6 实战应用篇:List 命令详解与实战(上)
7 实战应用篇:List 命令详解与实战(下)
8 实战应用篇:Hash 命令详解与实战(上)
9 实战应用篇:Hash 命令详解与实战(下)
10 实战应用篇:Set 命令详解与实战
11 实战应用篇:Sorted Set 命令详解与实战
12 数据结构篇:深入 Redis sds
13 数据结构篇:sds 核心方法解析
14 数据结构篇:深入 ziplist 之核心结构分析
15 数据结构篇:深入 ziplist 之写入数据
16 数据结构篇:深入 ziplist 之查询、删除与更新操作详解
17 数据结构篇:深入 ziplist 的替代者 listpack
18 数据结构篇:quicklist 核心原理剖析
19 数据结构篇:深入 quicklist 核心方法
20 数据结构篇:深入 Hash 实现
21 数据结构篇:Hash 核心方法剖析
22 数据结构篇:Hash 迭代器实现思想
23 数据结构篇:intset 优化原理与实现
24 数据结构篇:skiplist 原理与实现解析
25 数据结构篇:深入 Rax 树实现
26 内核解析篇:Redis 核心结构体精讲
27 内核解析篇:Redis 线程模型与 IO 模型的进化史
28 内核解析篇:Redis 事件驱动核心框架解析
29 内核解析篇:Redis 网络建连逻辑详解
30 内核解析篇:Redis 读取与请求核心
31 内核解析篇:命令解析与执行
32 内核解析篇:命令响应的核心原理解析
33 内核解析篇:Redis 时间事件的二三事
34 内核解析篇:Redis Key 的过期与删除
35 内核解析篇:Redis 内存淘汰机制
36 命令解析篇:通用命令与 String 命令实现解析
37 命令解析篇:Hash 与 Set 命令的实现原理
38 命令解析篇:List 命令与阻塞操作原理
39 命令解析篇:Sorted Set 命令实现原理
40 命令解析篇:事务命令实现解析
41 持久存储篇:RDB 持久化关键流程
42 持久存储篇:RDB 格式分析
43 持久存储篇:后台 RDB 持久化
44 持久存储篇:AOF 写入流程分析(上)
45 持久存储篇:AOF 写入流程分析(下)
46 持久存储篇:AOF Rewrite 机制剖析
47 主从同步篇:主从复制核心原理剖析
48 主从同步篇:从库视角下的主从复制(上)
49 主从同步篇:从库视角下的主从复制(下)
50 主从同步篇:主库视角下的主从复制(上)
51 主从同步篇:主库视角下的主从复制(中)
52 主从同步篇:主库视角下的主从复制(下)
53 Sentinel 篇:Sentinel 核心结构体分析
54 Sentinel 篇:Sentinel 监控原理
55 Sentinel 篇:Sentinel 故障转移实现解析
56 Cluster 篇:Redis Cluster 节点启动内幕
57 Cluster 篇:Redis Cluster 节点握手流程分析
58 Cluster 篇:集群配置与 slot 分配解析
59 Cluster 篇:Redis Cluster 中的 failover 原理
60 Cluster 篇:节点迁移与数据迁移实现解析
61 生产者-消费者模式篇:Pub/Sub 与 Shard Pub/Sub 解析
62 生产者-消费者模式篇:Stream 内幕之消息读写原理(上)
63 生产者-消费者模式篇:Stream 内幕之消息读写原理(下)
64 生产者-消费者模式篇:Stream 内幕之 Consumer Group 消费原理
65 扩展能力篇:GEO 命令的二三事
66 扩展能力篇:Redis 扩展利器之 Lua 脚本
67 扩展能力篇:Redis 7 新特性之 Functions 原理分析
68 结束语:点亮你的 Redis 技能树,轻松晋升为行业技术大牛

讲师介绍

杨四正,资深技术专家。有多年互联网一线开发经验,曾在多家互联网企业任职,涉及电商、新零售、短视频、直播等多个领域。目前任职于某短视频大厂,参与公司多款中间件开发,工作中深入研究并改造过多种开源产品的实现,在架构设计方面经验丰富。

热衷于技术分享,曾著有 Kafka、Dubbo、MyBatis、etcd、OpenTSDB、Promethus 等多个主题的书籍和课程。

(0)
上一篇 2022年10月26日 下午5:10
下一篇 2023年3月6日 下午9:28

相关推荐

发表回复

登录后才能评论