This is a self-paced course where you will explore the internal workings of Redis by reimplementing its key features in Golang. Together, we will recreate mechanisms such as the event loop, serialization protocol, persistence, pipelining, eviction, and transactions.
Redis Internals
Redis Internals is a 28-lesson 9 hours 6 minutes self-paced course by Arpit Bhayani. This is a self-paced course where you will explore the internal workings of Redis by reimplementing its key features in Golang.
Course facts
- Lessons
- 28
- Duration
- 9 hours 6 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Arpit Bhayani
- Price
- Premium
Redis is one of the most versatile modern databases. Although it is often used as a cache, it can also function as a message broker, streaming engine, and much more. This course will answer your main questions about Redis: why is it so fast? and how does it handle a huge number of TCP connections while remaining single-threaded?
Throughout the course, we will deconstruct Redis step by step, and in the process, we will write its full implementation in Go. The implementation will be compatible with any Redis client in the world - you will be able to connect to our database just like with the real Redis! All the code is available in open access on GitHub (DiceDB/dice).
Why enroll?
- Understand the architecture from the inside
- You will learn how databases are created from scratch and understand the key architectural decisions that make Redis so unique.
- Explore the "unknown"
- Master the most intriguing concepts and "tricky" algorithms that underlie the high speed and flexibility of Redis.
- Become a better engineer
- You will grow as a developer and be able to call yourself a true "Asli Engineer."
Participant Requirements
We will be implementing the main mechanisms of Redis, such as the event loop, serialization protocol, persistence, pipelining, and eviction. Therefore, it is important to have:
- basic knowledge of Go
- a development environment on Linux
- a Google account (as only Google sign-in is supported)
Additional
Who teaches Redis Internals? Arpit Bhayani
Arpit Bhayani is a US-based software engineer (formerly at Amazon, Practo, and now an independent educator) who runs asliengineering.com and the Arpit Bhayani YouTube channel, both focused on system design and database internals. His material is unusually deep for the system-design-interview market — taking serious detours into the actual implementation of Redis, Postgres, and the data structures behind them.
His CourseFlix listing carries three Arpit Bhayani courses: The System Design Masterclass, Redis Internals (an end-to-end study of how Redis is implemented in C), and System Design for Beginners. Material is paid and aimed at engineers preparing for system-design interviews or doing infrastructure work on production data systems.
What lessons are included in Redis Internals?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Course Introduction Demo | 10:55 | |
| 2 | What makes Redis special? | 22:04 | |
| 3 | Writing a Simple TCP Echo Server | 16:25 | |
| 4 | Speaking the Redis' Language | 15:50 | |
| 5 | Implementing RESP | 14:38 | |
| 6 | Implementing PING | 19:29 | |
| 7 | IO Multiplexing and Event Loops | 21:15 | |
| 8 | Handling multiple concurrent clients | 26:29 | |
| 9 | Implementing GET, SET, and TTL | 22:09 | |
| 10 | Implementing DEL, EXPIRE and auto-deletion | 27:23 | |
| 11 | Eviction strategies and implementing simple-first | 20:24 | |
| 12 | Implementing Command Pipelining | 22:00 | |
| 13 | Implementing AOF Persistence | 21:05 | |
| 14 | Object, Encodings, and Implementing INCR | 24:48 | |
| 15 | Implementing INFO and allkeys-random eviction | 19:37 | |
| 16 | The Approximated LRU Algorithm | 23:15 | |
| 17 | Implementing the Approximated LRU Algorithm | 25:27 | |
| 18 | Understanding how Redis caps memory | 13:20 | |
| 19 | Overriding malloc for better performance | 06:11 | |
| 20 | Implementing Graceful Shutdown | 37:18 | |
| 21 | Implementing Transactions | 22:00 | |
| 22 | List Internals - Ziplist and Quicklist | 28:16 | |
| 23 | Set Internals - Intset | 13:25 | |
| 24 | Geospatial Queries and Geohash | 21:39 | |
| 25 | String Internals - Simple Dynamic Strings | 15:56 | |
| 26 | Hyperloglog and Cardinality Estimation | 13:22 | |
| 27 | LFU and Approximate Counting | 20:49 | |
| 28 | What next? | 01:12 |
Get instant access to all 27 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Redis Internals?
-
Updated 3y agoWriting An Interpreter In Go
By: Thorsten BallIn this book we will create a programming language together. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* -
Updated 2y agoFor the Love of Go: Book/Video Bundle
By: John ArundelHello, and welcome to learning Go! It's great to have you here. This is the bundled edition of ‘For the Love of Go’, a book introducing the Go programming langu6h 12m -
Updated 2y agoPractical Go Foundations
By: Ardan LabsThis introductory course explores topics like strings, REST APIs, error handling, testing, sorting, and more!13h 9m5/5 -
Updated 2y agoGolang + Lambda Masterclass [EARLY-ACCESS]
By: Gourav KumarThis course teaches you everything you need to create production-ready Golang + Lambda Microservices, REST APIs.1h 41m -
Updated 2y agoGo Bootcamp: Master Golang with 1000+ Exercises and Projects
By: UdemyDeeply understand and master the Go Programming Language (Golang) from scratch 1000+ hands-on exercises and projects.15h 27m -
Updated 2y agoFoundations of Debugging for Golang
By: ByteSizeGo, Matt BoyleEnhance your debugging skills with Golang! Debugging is an essential skill that many people are never formally taught. -
Updated 1y agoBuilding Levenue
By: Anthony GGLive screen recordings and explanations on how we are step by step building the infrastructure of my million-dollar company - levenue.com.6h 55m0/5 -
Updated 2y agoLet's Build a Go version of Laravel: Part Two
By: UdemyThis is the follow up to "Let's Build a Go Version of Laravel," and is intended for students who have already taken that course! In the first part of this serie8h 5m
More courses by Arpit Bhayani
-
NewThe Applied AI Masterclass
Practical course on creating AI systems and working with LLM. You will master prompting, agents, and RAG, and create prototypes and production solutions.20h 52m -
Updated 1y agoSystem Design for Beginners
"System Design for Beginners" is a course for beginners in a convenient self-paced format.12h 2m5/5 -
FreeClassicThe System Design Masterclass
A masterclass that helps you become great at designing scalable, fault-tolerant, and highly available systems. This is a prime and intermediate-level cohort-bas43h 13m4/5