📌📚 Кэширование — подборка материалов для СА 📚📌
Если в API нужно кэширование, аналитику недостаточно написать: «кэшировать данные».
В требованиях стоит ответить хотя бы на базовые вопросы:
✔️ Что кэшируем — весь ответ или отдельные данные
✔️ Где кэшируем — в приложении, Redis, HTTP-кэше, CDN
✔️ Кто источник истины — откуда берём актуальные данные
✔️ Какой TTL — время жизни кэша
✔️ Допустимы ли устаревшие данные и как долго
✔️ Как формируется ключ кэша — какие параметры в него входят
✔️ Когда инвалидируем кэш — по TTL, событию или изменению данных
✔️ Что происходит при cache miss — откуда получаем данные
✔️ Что происходит, если кэш недоступен — идём в БД / внешний сервис / возвращаем ошибку
✔️ Какие HTTP-механизмы используем — Cache-Control, ETag, If-None-Match и другие, если они нужны
👉 Если эти вопросы закрыты, разработчику не придётся самому решать, как должен работать кэш.
Собрала материалы GetAnalyst, которые помогут разобраться в теме и посмотреть, как переводить кэширование в конкретные требования 👇
🔗 Всё про кэш - самое главное в одной мини-книге
🔗 Ключевые алгоритмы кэширования cahce-miss / cache-hit
🔗 3 уровня кэширования
🔗 4 директивы заголовка Cache-Control, которые важно различать
🔗 ETag и 304 Not Modified — недостающие строчки в 90% ТЗ на справочники через GET
📌 Пример требований к API-методу с кэшированием
Сохраняйте как чек-лист и сверяйте с ним следующие постановки задач 🔖
#RestApiGA
📱 GetAnalyst | 💙 VK | 💬 Max
Post #3570
3.95K

- ❤ 17
- 👍 8