awesome-everything EN
↑ Обратно к восхождению

Кеширование

Уровни кэша: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту — лестница задержек, где кэшировать, точка окупаемости hit ratio и сбои wrong-layer и double-caching.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 12 min

Шесть вопросов поперёк всего юнита. Каждый отражает решение, которое ты принимаешь в реальной системе — не определение для заучивания, а компромисс, который надо взвесить, как только кто-то скажет «просто добавь кэш».

Цель

Убедись, что связываешь лестницу задержек, выбор слоя для кэша, точку окупаемости hit ratio и сбои wrong-layer и double-caching — тот синтез, к которому вёл урок.

Викторина

Команда ставит in-region Redis cache (~1 мс round trip) перед primary-key lookup в Postgres (тёплый, отдаётся из buffer pool за ~0.3 мс). p99 чтения растёт. Почему?

Викторина

Эндпоинт чтения выполняет join по 3 таблицам за 80 мс, вызывается 50×/сек, данные меняются пару раз в день. Где должен быть cache?

Викторина

Cache с hit ratio 35% стоит перед origin в 80 мс за lookup-ом в 1 мс. Средняя задержка 0.35×1 + 0.65×(1+80) ≈ 53 мс — лучше, чем 80. Почему hit ratio 35% всё равно тревожный сигнал?

Викторина

Почему OS page cache — самый недооценённый слой при решении, добавлять ли Redis?

Викторина

Значение кэшируется в Redis (инвалидируется на запись) И его отрендеренный ответ кэшируется на CDN с TTL 5 минут. После записи пользователи всё ещё видят старые данные минутами. В чём сбой и каков структурный фикс?

Викторина

Инженер кэширует пер-пользовательский фрагмент «рекомендуем вам» на CDN, чтобы снизить нагрузку на origin. Часть пользователей начинает видеть чужие рекомендации. Корневая причина?

Итог

Сквозная линия: кэширование — это лестница задержек (L1, RAM, page cache, Redis, CDN), и cache помогает только когда стоит перед реально более медленным origin, hit ratio высокий, а данные терпят устаревание. Page cache и buffer pool БД часто уже делают origin быстрым, как RAM, поэтому проверь реальную задержку origin, прежде чем тянуться за Redis. Senior-сбои повторяются: cache перед быстрым origin, оправдание кэша слабым hit ratio, кэширование персонализированных данных на CDN с ключом по URL и double-caching одного факта на двух слоях с независимыми TTL. Кэшируй так близко к потребителю, как позволяет волатильность данных; дай каждому факту одного владельца и один путь инвалидации.

Продолжить восхождение ↑Уровни кэша: тест на свободное воспроизведение
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.