Redis
Раздел про Redis для бэкендера простыми словами: что такое in-memory хранилище, структуры данных, паттерны кэширования, распределённые блокировки и rate limiting, интеграция со Spring Boot и эксплуатация (персистентность, репликация, вытеснение).
Раздел с нуля про Redis — быстрое in-memory хранилище, которое бэкенду нужно чаще всего как кэш, но умеет гораздо больше. Что это и когда применять, какие структуры данных есть, как правильно кэшировать, использовать для блокировок и счётчиков, подключать к Spring Boot и эксплуатировать в проде. Читать лучше по порядку.
- Что такое Redis: in-memory хранилище для backend-разработчика — Redis — быстрое in-memory хранилище ключ-значение. Разбираем, почему оно работает мгновенно, когда его использовать и как подключить из Java.
- Структуры данных Redis: String, Hash, List, Set, Sorted Set и другие — Какие структуры данных есть в Redis, чем они отличаются и когда использовать каждую — от счётчиков до рейтингов и очередей.
- Паттерны кэширования в Redis — Cache-aside, write-through, write-behind, протухание и инвалидация: как правильно строить кэш на Redis, чтобы не ловить устаревшие данные и cache stampede.
- Redis не только для кэша: блокировки, ограничение запросов, очереди и Pub/Sub — Как использовать Redis для распределённых блокировок, rate limiting, очередей и событийного обмена — с примерами команд и Java/Spring.
- Redis в Spring Boot: RedisTemplate, @Cacheable и Spring Session — Как подключить Redis к Spring Boot через Spring Data Redis: RedisTemplate, сериализация, кэш через @Cacheable и сессии через Spring Session.
- Эксплуатация Redis: персистентность, память, репликация — Как Redis хранит данные на диске, управляет памятью и остаётся доступным при сбоях — RDB, AOF, Sentinel, Cluster и мониторинг.