⚠️ 重要提醒:课程资源里面的所有加微信什么的不要信,上当受骗与本站无关。

📚 课程介绍

本课程深入探讨Go语言的底层原理,通过实战案例重写Redis中间件,适合有一定Go语言基础,希望提升并发处理能力和中间件开发能力的学员。

📋 学习前提

1. Go语言基础(了解Go的基本语法和编程范式) 2. 熟悉Redis基本操作(了解Redis的常用命令和数据结构)

⭐ 推荐指数

⭐⭐⭐⭐☆ (4/5星)

📖 课程目录

第5章 高并发的核心工具:Goroutine 协程

5-1为什么要有协程,线程不好用吗?

5-2协程的本质是什么?

5-3协程是如何执行的一

5-4协程是如何执行的二

5-5为什么要有G-M-P调度模型?

5-6如何实现协程并发?

5-7抢占式调度解决了什么问题?

5-8实战–协程太多有什么问题

5-9本章作业

5-10面试题

第4章 Go在高并发下的数据结构

4-1什么变量的大小是0字节?

4-2数组,字符串,切片底层是一样的吗?

4-3数组,字符串,切片底层是一样的吗?

4-4map:重写Redis能用它吗?

4-5map:重写Redis能用它吗?

4-6map为什么需要扩容?

4-7怎么解决map的并发问题?

4-8怎么解决map的并发问题?

4-9接口隐式更好还是显式更好?

4-10接口隐式更好还是显式更好?

4-11nil,空接口,空结构体有什么区别?

4-12实战:内存对齐是如何优化程序效率的?

4-13实战:内存对齐是如何优化程序效率的?

4-14本章小结

4-15面试题

4-16本章小结

第7章 高并发下的通信方式:Channel管道

7-1为什么要用Channel,共享内存不好用吗?

7-2如何设计高性能Channel?

7-3Channel发送数据的底层原理是什么?

7-4Channel接收数据的底层原理是什么?

7-5实战:非阻塞的Channel怎么做?

7-6本章作业

7-7面试题

7-8本章小结

第8章 高并发应用:TCP网络编程

8-1什么是非阻塞IO?

8-2什么是非阻塞IO?

8-3Go是如何抽象Epoll的?

8-4Go是如何抽象Epoll的?

8-5NetworkPoller是如何工作的?

8-6NetworkPoller是如何工作的?

8-7Go是如何抽象Socket的?

8-8Go是如何抽象Socket的?

8-9Go是如何抽象Socket的?

8-10实战:怎样结合阻塞模型和多路复用?

8-11本章作业

8-12面试题

8-13本章小结

第9章 高并发下的内存模型与垃圾回收

9-1为什么说Go的栈在堆上?

9-2GO的堆内存结构是怎样的?

9-3GO的堆内存结构是怎样的?

9-4什么样对象需要垃圾回收?

9-5实战:如何优化GC效率?

9-6本章作业

9-7什么样对象需要垃圾回收?

9-8实战:如何优化GC效率?

9-9实战:如何优化GC效率?

9-10本章作业

9-11本章小结

第13章 GO实现内存数据库

13-1定义Dict接口

13-2实现SyncDict

13-3实现SyncDict

13-4定义command结构体

13-5实现DB.Exec

13-6初始化ClusterDatabase

13-7实现PING命令

13-8实现KEYS命令集

13-9实现KEYS命令集

13-10实现KEYS命令集

13-11实现STRING命令集

13-12实现STRING命令集

13-13实现核心Database

13-14实现核心Database

13-15本章小节

13-16使用教程

第15章 GO实现Redis集群

15-1详解一致性哈希

15-2定义NodeMap

15-3实现一致性哈希

15-4集群架构讲解

15-5实现连接工厂

15-6初始化ClusterDatabase

15-7操作连接池

15-8实现三种执行模式

15-9实现defaultFunc

15-10实现特殊模式的指令

15-11完成ClusterDatabase

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。