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

Кеширование

SWR: тест с выбором ответа

Суть Тест с выбором на синтез по всему юниту SWR — два окна, single-flight, stale-if-error, ревалидация на клиенте и опасность для auth.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

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

Цель

Убедись, что связываешь окно свежести, окно SWR, stale-if-error, single-flight и модель ревалидации на клиенте — и что знаешь единственное место, куда SWR ставить нельзя.

Викторина

Запрос приходит через 90 секунд после кэширования, с Cache-Control: max-age=60, stale-while-revalidate=300. Что получит пользователь и почему?

Викторина

Почему один лишь max-age порождает пилу p99 на каждой границе TTL, и как stale-while-revalidate её сглаживает?

Викторина

Популярный ключ истекает при 10k rps, и edge запускает по одной фоновой ревалидации на каждый stale-hit. Что ломается и какой фикс?

Викторина

Что stale-if-error добавляет поверх stale-while-revalidate, и почему пара — дефолт сеньора?

Викторина

Два компонента вызывают useSWR('/api/user') в одном тике рендера. Что делает клиентская библиотека SWR и что этим управляет?

Викторина

Для какого ответа stale-while-revalidate — неправильный инструмент и почему?

Итог

Сквозная линия — один контракт: верни то, что есть сейчас, подтяни то, что верно, следующим, и никогда не заставляй человека ждать обновления. max-age задаёт свежесть, окно SWR убивает пилу синхронной ревалидации, stale-if-error превращает аварию в degraded-but-up, single-flight плюс джиттер останавливают стадо фоновых обновлений, а клиентские библиотеки воспроизводят ту же модель через dedupingInterval и ревалидацию на focus/reconnect. Единственная жёсткая граница: никогда не применяй SWR к auth, правам и всему, где устаревшие данные — баг безопасности.

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

Trademarks belong to their respective owners. Editorial reference only.