SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое Cache Penetration (Пробитие кэша) и как с ним бороться?

Cache Penetration — это атака или баг, при котором запрашиваются данные, которых нет ни в кэше, ни в БД (например, GET /users/-999).

Проблема: Кэш не находит ключ -> запрос идет в БД -> БД не находит -> в кэш ничего не пишется. Хакер шлет миллион таких запросов, и все они бьют напрямую в БД, минуя кэш.

✅ Решения:
1. Кэшировать пустые ответы: Если БД вернула null, записать в Redis ключ -999 со значением null и коротким TTL (5 минут).
2. Фильтр Блума (Bloom Filter): Вероятностная структура данных перед кэшем, которая мгновенно отвечает: "Такого ID точно не существует", отсекая запрос.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Ещё вопросы раздела «Архитектура»

Все вопросы раздела «Архитектура»