Redis изнутри: интерактивный разбор
Когда отправляешь SET или GET, легко представить Redis как словарь в памяти. Но за этими командами стоят сетевые буферы, цикл событий, разные структуры данных, работа со временем и запись на диск.
Мне хотелось разобрать это наглядно: проследить запрос от клиента до памяти, остановиться на отдельном шаге и посмотреть, что именно изменилось. Так появился интерактивный разбор Redis.
Внутри — 21 глава. Начинаем с одного ключа и постепенно переходим к нескольким клиентам, транзакциям, блокировкам, сохранению данных, репликации и Redis Cluster. Отдельные главы посвящены Pub/Sub и Streams.
Можно увидеть, почему два INCR работают иначе, чем две последовательности GET → SET, что проверяет WATCH и почему транзакция не означает откат. В других главах показано, как истекает TTL, почему реплика может отставать и какие данные останутся после сбоя.
Объяснения идут небольшими шагами: короткий текст, затем анимация. Сцены можно повторять. Все темы, технические подробности текущего шага и ссылки на источники доступны через оглавление.
Это учебная модель, а не настоящий сервер. Разбор опирается на Redis 8.0.0; рядом с шагами есть ссылки на документацию и соответствующие участки исходного кода. Размеры структур и время операций упрощены, чтобы было видно сам механизм.
Есть русская и английская версии. Язык можно переключить во время прохождения.
Идею подачи я взял у The Secret Lives of Data — Raft: там так же последовательно объясняется протокол консенсуса Raft.