advanced
Client cache
Cache safe client data with clear keys, TTLs, invalidation triggers, privacy boundaries, and optimistic update rules. Всегда проговаривайте freshness и invalidation.
Клиентский кеш хранит ответы в памяти браузера, на диске (IndexedDB) или в хранилище мобильного приложения для снижения latency и офлайн-пробелов. Кешируйте безопасные данные с явным TTL, ключами по версии ресурса и инвалидацией при logout или смене прав.
Оптимистичные обновления ускоряют UI, но требуют отката при конфликте. Privacy: не храните токены и PII дольше нужного. HTTP cache headers дополняют прикладной клиентский кеш.
На интервью: ключи кеша для страницы профиля, выбор TTL и поведение после неудачной записи с optimistic UI.
Типовые ошибки: устаревшие права после смены роли; персональные данные в общем CDN; нет cache bust при деплое SPA.
Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.
Чеклист:
- Ключи и TTL по ресурсам.
- Инвалидация при auth и смене прав.
- Откат optimistic update.
- Разделение публичного и приватного кеша.