Redis и кеширование
Кеш, распределённые блокировки, rate limiting: Redis в бою
Уровень: Средний · около 4 ч · после курса: Подключишь кеш, выберешь стратегию инвалидации и сделаешь распределённую блокировку и rate limit
Чему научишься
- Понимать, какие структуры данных даёт Redis и когда какая нужна
- Подключить Redis из Go через go-redis
- Выбрать стратегию кеширования и продумать инвалидацию
- Сделать распределённую блокировку и правильно выставить ей TTL
- Ограничить частоту запросов через rate limiting
Уроки курса (5)
Модуль 1 · Базовые операции
Что такое Redis и как использовать его из Go
- Redis: быстрое хранилище в памяти - Архитектура single-threaded, типы данных, TTL, memory management, persistence
- Go + Redis: библиотека go-redis - Подключение, connection pool, pipelining, context/timeout, error handling, redis.Nil
Модуль 2 · Продвинутые паттерны
Стратегии кеширования, распределённые блокировки и ограничение частоты
- Стратегии кеширования - Cache-aside, write-through, write-behind, инвалидация, thundering herd, singleflight
- Распределённые блокировки: SET NX, Redlock и fencing - Координация инстансов через Redis: атомарный захват, владелец лока, TTL и что ломается на практике
- Rate limiting: fixed window, token bucket и sliding window - Три алгоритма ограничения частоты, атомарность через Lua и корректный ответ 429 клиенту