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.
  • Разделение публичного и приватного кеша.