
深入学习Redis核心原理
你将基于Golang从零重写Redis各类核心功能,包含事件循环、RESP序列化协议、持久化、命令管道、内存逐出机制与事务模块,透过手写实现完整吃透Redis底层内部运行逻辑。
课程整体介绍
Redis是当下应用场景极广的高性能内存数据库,行业内常将其用作缓存服务,同时也可承担消息中间件、流式数据引擎等多种业务角色。本课程拆解Redis底层核心运行机制,针对性解答行业常见疑问:Redis性能高效的底层原因、单线程架构下如何支撑海量TCP并发连接等核心问题。
本套课程为自主学习录播课程,核心学习思路为使用Golang复刻Redis全部关键底层能力,在动手编码过程中吃透内部实现逻辑,课程重点覆盖以下核心模块:
- 事件循环机制
- RESP序列化通信协议
- 近似LRU内存逐出机制
- 命令管道与事务实现
本次基于Golang开发的简易Redis服务可直接兼容标准Redis客户端,能像原生Redis一样接收客户端连接访问,完整项目代码全部开源,方便课后调试、拓展与二次学习。
完整课程章节内容
- 01 课程介绍
- 02 是什么让Redis如此特别
- 03 编写一个简单的TCP回显服务器
- 04 学习Redis的语言
- 05 实现RESP协议
- 06 实现PING命令
- 07 I/O多路复用和事件循环
- 08 处理多个并发客户端
- 09 实现GET、SET和TTL命令
- 10 实现DEL、EXPIRE和自动删除
- 11 逐出策略及简单优先实现
- 12 实现命令管道
- 13 实现AOF持久化
- 14 对象、编码及实现INCR命令
- 15 实现INFO命令和allkeys-random逐出策略
- 16 近似LRU算法
- 17 实现近似LRU算法
- 18 理解Redis如何限制内存使用
- 19 覆盖malloc以提高性能
- 20 实现优雅关闭
- 21 实现事务
- 22 列表内部结构 – 压缩列表和快速列表
- 23 集合内部结构 – 整数集合
- 24 地理空间查询和Geohash
- 25 字符串内部结构 – 简单动态字符串
- 26 Hyperloglog和基数估算
- 27 LFU(最不经常使用)和近似计数
- 28 接下来的学习方向
声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
