- Course Introduction 10 mins
- What makes Redis special? 22 mins
- Writing a Simple TCP Echo Server 16 mins
A self-paced course where we understand the Redis internals by actually reimplementing its core features, like event loop, serialization protocol, persistence, pipelining, eviction, and transactions, in Golang.
If you have already enrolled, you can directly login to the portal.
Redis has to be the most versatile modern database out there. Although it is heavily used as a cache, it can also be used as a Message Broker, a Streaming engine, and so much more. This course will be an answer to some of your most common questions about Redis - why is it so fast? and how it can handle a large number of TCP connections while being single-threaded?
In this self-paced recorded course, we will be understanding the internals of Redis by actually reimplementing it in Golang, and the features include
Our reimplementation in Golang will be an actual drop-in replacement of Redis which means you would be able to connect to this DB through any Redis client in the world! Our entire reimplementation is open-sourced and can be found on Github at DiceDB/dice.
The primary objective of this program is to make you fall in love with database internals, help you understand the various components of any database, and walk you through on building your own database from scratch.
Learning how a database is built from scratch and key design decisions that make it special has its own thrill.
Learn some of the most interesting concepts and super-clever algorithms that makes Redis extra-special.
Take yourself to the next level and become a better, an Asli Engineer.
Get your doubts cleared asynchronously on Discord or synchronously over a common 30-minute zoom call that would happen every 14 days.
Network, interact, and learn by being a part of the Asli Engineering Discord community.
The first few videos of this course are available for free, watch them here and then decide if you want to take this up or not
In this course, we would be reimplementing the core features of Redis, like event loop, serialization protocol, persistence, pipelining, and eviction; hence we would need a basic familiarity with Go. We will also be writing our own Event Loop and because every OS exposes its own set of System Calls, we will be restricting ourselves to Linux, and hence having a Linux-based development environment is essential to follow. In a gist, the program pre-requisites are
If you meet the pre-requisites and are excited to learn, enroll ↓
inclusive of all the taxes
✔ 9 hours of Redis Internals
✔ Curated resources to explore internals better
✔ Source code of our Golang based implementation - Dice DB
✔ Bi-weekly doubt solving - Tuesday 7:30 pm to 8:00 pm IST
✔ Lifetime access to all the course videos and notes
✔ Lifetime access to the #AsliEngineering Discord Community
Note: there is no discount on the course pricing; I feel discounts are unfair to the folks who paid the full; the price of the course is subject to a yearly hike.
If you have questions or need any clarifications before enrolling, please reach out to me at firstname.lastname@example.org.
I am a CS engineer passionate about building systems that scale and currently working with Google as a Staff Software Engineer with the Dataproc team and making Apache Spark faster. Throughout my career, I have worked across a variety of domains and have built systems, services, and platforms that scale to billions; and have worked at companies like Unacademy, Amazon, Practo, and D. E. Shaw.
Post my masters in CSE from IIIT Hyderabad I joined D. E. Shaw for a short stint of 2 months, before moving to Practo and working there as a Platform Engineer, building and owning close to 8 different microservices. Post Practo I worked at Amazon on their primary mission-critical E-Commerce Database and built Data Pipelines that cold tiered the stale data.
After quitting Amazon in 2018, I joined Unacademy as their first Technical Architect and there I designed, built, managed, and scaled services like Search, Notification, Logging, Deployment Engine, and many more. I then transitioned into the leadership role and operated as a Director of Engineering and led the Site Reliability and Data Engineering verticals.
I run a YouTube channel named Asli Engineering where I post videos about Real-world System Design, Language Internals, Distributed Algorithms, and much more. The channel right now as a subscriber base of 20k.
On the side, I am building my own database named DiceDB that aims to be an in-memory KV store optimized for CPU intensive workload. I am also building a programming language named Revine that would aid kids to develop logic and programming intuitions by building micro-games and animations.
You can always drop me an email at email@example.com for other questions.
This course is for any engineer who wants to understand the internals of Redis and build a KV store from scratch.
The course is self-paced and upon the purchase, the access to the videos will be given.
All the doubts will be resolved synchronously over a 30 min common zoom call that would happen every two weeks on Tuesday 7:30 pm IST, or asynchronously on the Discord server.
Talk to your manager and check if they can sponsor this course. The invoice that will be issued is a legally valid and sound invoice that can be used for any kind of reimbursement.
You will have lifetime access to the course.
Fees once paid for the Redis Internals course will not be refunded.
Basic familiarity with Golang and a Linux-based development environment.
Yes. An invoice will be issued to you with all the legal and necessary details. This means your employer can choose to process this invoice and provide reimbursement. Drop me an email at firstname.lastname@example.org if you want a detailed invoice.
I generate the course completion certificate on-demand and hence if you seek one drop me an email at email@example.com
No. The commands and features that will be implemented are mentioned in the curriculum. Core Data Structures and Algorithms of Redis are theoretically covered in extreme detail. We will be following the aforementioned curriculum.
No. I will be giving an exhaustive code walkthrough of our Golang based implementation and the code will evolve with every commit.
Arpit's Newsletter read by 30000+ engineers
Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.
Powered by this tech stack.