Кеширование — это процесс сохранения часто используемых данных в быстром временном хранилище — обычно в оперативной памяти — чтобы будущие запросы обрабатывались быстро без повторного обращения к более медленным бэкенд-системам.
Redis или Memcached хранят в памяти вычисленные результаты или данные из БДСамая критичная проблема — инвалидация кеша: нужно гарантировать, что устаревшие данные удаляются или обновляются при изменении источника. Распространённые стратегии:
TTL (Time-To-Live): автоматическое вытеснение записей по истечении заданного времениWrite-through: кеш обновляется сразу при записи данных в БДCache-aside (ленивая загрузка): данные загружаются в кеш только при cache missНеправильно выбранная стратегия может привести к тому, что пользователи будут видеть устаревшие данные, или к лишним вытеснениям из кеша, что бьёт по производительности.
Кеширование — фундаментальный инструмент в проектировании систем, напрямую влияющий на производительность и масштабируемость. Настоящая инженерная задача — не просто добавить кеш, а понять, что кешировать, на какой срок и как синхронизировать с источником истины.
Кэширование на стороне клиента и кэширование через CDN служат одной и той же первичной цели — снижению нагрузки на базу данных в бэкенде.
Новый — ещё не проверен сообществом
Вы