Redis и кеширование

Кеш, распределённые блокировки, rate limiting: Redis в бою

Уровень: Средний · около 4 ч · после курса: Подключишь кеш, выберешь стратегию инвалидации и сделаешь распределённую блокировку и rate limit

Чему научишься

  • Понимать, какие структуры данных даёт Redis и когда какая нужна
  • Подключить Redis из Go через go-redis
  • Выбрать стратегию кеширования и продумать инвалидацию
  • Сделать распределённую блокировку и правильно выставить ей TTL
  • Ограничить частоту запросов через rate limiting

Уроки курса (5)

Модуль 1 · Базовые операции

Что такое Redis и как использовать его из Go

  1. Redis: быстрое хранилище в памяти - Архитектура single-threaded, типы данных, TTL, memory management, persistence
  2. Go + Redis: библиотека go-redis - Подключение, connection pool, pipelining, context/timeout, error handling, redis.Nil

Модуль 2 · Продвинутые паттерны

Стратегии кеширования, распределённые блокировки и ограничение частоты

  1. Стратегии кеширования - Cache-aside, write-through, write-behind, инвалидация, thundering herd, singleflight
  2. Распределённые блокировки: SET NX, Redlock и fencing - Координация инстансов через Redis: атомарный захват, владелец лока, TTL и что ломается на практике
  3. Rate limiting: fixed window, token bucket и sliding window - Три алгоритма ограничения частоты, атомарность через Lua и корректный ответ 429 клиенту