Разработчик Вишну Чиламакуру поделился в своем блоге четырьмя способами обновления кеша. Эти стратегии представляют собой добавление слоя кеша перед базой данных (БД), который может помочь избежать неравномерную нагрузку и всплеск трафика приложений.
Стратегия обновления кеша
Стороннее кеширование
В этом случае приложение отвечает за чтение и запись из хранилища. Кеш не взаимодействует с хранилищем напрямую. Приложение ищет запись в кеше, если не находит, то загружает запись из базы данных, затем добавляет запись в кеш и возвращает ее.
Последующие чтения данных, добавленных в кеш, выполняются быстро. Эту стратегию также можно название назвать отложенной загрузкой (lazy loading). То есть кешируются только запрошенные данные, что позволяет избежать заполнения кеша незапрошенными данными.
Недостатки стратегии:
Каждый промах кеша приводит к трем отключениям, что может спровоцировать задержку;
Сквозная запись
Приложение использует кеш в качестве основного хранилища данных, считывая и записывая в него информацию, в то время как кеш отвечает за чтение и запись в БД. Приложение добавляет/обновляет запись в кеш, затем он синхронно делает запись в хранилище данных, а потом возвращает ее.
Последующее чтение только что записанных данных происходит быстро. По мнению Вишну Чиламакуру, пользователи обычно более терпимы к задержкам при обновлении данных, чем при их чтении.
Недостатки стратегии:
Отложенная запись
Приложение добавляет/обновляет запись в кеше, затем асинхронно делает запись в хранилище данных, улучшая производительность.
Недостатки стратегии:
Отложенное обновление
Стратегия позволяет настроить кеш для автоматического обновления любой недавно использованной записи кеша до истечения срока ее действия. Может привести к уменьшению загрузки по сравнению с методом сквозного чтения, если кеш может точно предсказать, какие элементы могут потребоваться в будущем.
Недостаток стратегии связан с неточным прогнозированием того, какие элементы могут потребоваться в будущем, что может привести к снижению производительности приложения.
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…