— Кэшируйте не всё подряд: сначала тяжелые и повторяющиеся запросы, потом уже остальное; иначе легко закэшировать мусор и получить stale-данные.
— У любого кэша должен быть TTL и понятная стратегия сброса: по ключу, по тегу или целиком. Без этого он превращается в склад устаревших ответов.
— Разделяйте кэш по уровню: браузерный, CDN, application cache, object cache. Смешивать их в одну корзину — источник странных багов и бессмысленных invalidation.
— Следите за cache key: язык, устройство, авторизация, параметры запроса. Если ключ слишком широкий, растет мусор; если слишком узкий — ловите leakage.
— Для динамики используйте stale-while-revalidate или soft TTL, чтобы отдавать быстрый ответ и не блокировать пользователя на пересборке.
— Не забывайте про cache stampede: при истечении популярного ключа несколько процессов могут одновременно идти в бэкенд. Лечится lock’ами, jitter и single-flight.
— И всегда измеряйте hit ratio, latency и объем промахов: без метрик кэш легко кажется «полезным», хотя он лишь добавил сложность.
Bookmark: держите рядом правило «сначала измерь, потом кешируй» — оно экономит больше времени, чем любой хитрый слой.
Cache Catch
@CacheCatch
Caching: 7 правил, которые спасают от «быстрого, но сломанного» сайта
This post was published in the Telegram channel Cache Catch. Subscribe here: @CacheCatch.