Добавить в корзинуПозвонить
Найти в Дзене
Основа QA

Все, что вам нужно знать о стратегиях кэширования

Жил-был младший инженер-программист по имени Артем. Он работал в технологической компании Hooli. Несмотря на свой ум, он так и не получил возможности поработать над каким-либо интересным проектом. Поэтому он был печален и расстроен. Пока однажды ему не пришла в голову идея устроиться на новую работу. И интервьюер задал ему один простой вопрос: «Можете ли вы перечислить 5 популярных стратегий кэширования?». Однако он не ответил на него, и интервью закончилось через 7 минут. Поэтому он изучил его позже, чтобы восполнить пробел в знаниях. Вперед. Он провалил собеседование, так что вам не придется этого делать. И вот как на это можно ответить: Кэш используется для хранения часто используемых данных, что позволяет ускорить обработку будущих запросов. Кроме того , он сохраняет данные в памяти, обеспечивая минимальную задержку. Однако объём доступной памяти ограничен. Поэтому необходимы частые обновления кэша. Метод хранения, извлечения и управления данными в кэше для повышения производительн
Оглавление

Жил-был младший инженер-программист по имени Артем.

Он работал в технологической компании Hooli.

Несмотря на свой ум, он так и не получил возможности поработать над каким-либо интересным проектом.

Поэтому он был печален и расстроен.

Пока однажды ему не пришла в голову идея устроиться на новую работу.

И интервьюер задал ему один простой вопрос:

«Можете ли вы перечислить 5 популярных стратегий кэширования?».

Однако он не ответил на него, и интервью закончилось через 7 минут.

Поэтому он изучил его позже, чтобы восполнить пробел в знаниях.

Вперед.

1.Стратегии кэширования

Он провалил собеседование, так что вам не придется этого делать.

И вот как на это можно ответить:

Кэш используется для хранения часто используемых данных, что позволяет ускорить обработку будущих запросов. Кроме того , он сохраняет данные в памяти, обеспечивая минимальную задержку. Однако объём доступной памяти ограничен. Поэтому необходимы частые обновления кэша.

Метод хранения, извлечения и управления данными в кэше для повышения производительности и оптимального использования памяти называется стратегией кэширования .

-2

Кэш в стороне — одна из самых популярных стратегий кэширования.

Это также называется ленивой загрузкой, поскольку данные кэшируются только тогда, когда они запрашиваются.

Вот как это работает:

  1. Приложение пытается прочитать данные из кэша
  2. Затем он считывает данные из базы данных при промахе кэша.
  3. Данные записываются в кэш.

Промах кэша означает , что запрошенные данные отсутствуют в кэше.

Кроме того, кэш не взаимодействует с базой данных напрямую; вместо этого это делает приложение.

Эту стратегию легко реализовать. Однако существует риск несогласованности данных и дополнительных задержек из-за циклов передачи данных по сети.

Он используется в рабочих нагрузках с большим объемом чтения, например, при чтении данных конфигурации или профилей пользователей.

Готовы к следующей технике?

2. Стратегия сквозного письма

-3

Стратегия сквозного кэширования обеспечивает строгую согласованность между кэшем и базой данных.

Вот как это работает:

  1. Приложение записывает в кэш
  2. Затем кэш синхронно записывает данные в базу данных .

Приложение не взаимодействует с базой данных напрямую; вместо этого это делает кэш.

Хотя эта стратегия обеспечивает согласованность данных, задержка при записи выше. Кроме того, кэш может быть использован впустую из-за редко используемых данных.

Он используется в случаях, когда скорость записи низкая и актуальность данных имеет решающее значение.

3. Стратегия прочтения

-4

Стратегия сквозного кэширования устанавливает кэш между приложением и базой данных. Это означает, что все операции чтения проходят через кэш.

Вот как это работает:

  1. Приложение считывает данные из кэша
  2. Затем он считывает данные из базы данных при пропуске кэша.
  3. Данные записываются в кэш, а затем возвращаются в приложение.

Приложение не взаимодействует с базой данных напрямую; вместо этого это делает кэш.

Хотя эта стратегия обеспечивает низкую задержку, существует риск несогласованности данных.

Он используется в рабочих нагрузках с большим объемом чтения, таких как лента новостей или каталог продукции.

Давайте продолжим!

4.Стратегия обратной связи

-5

Стратегия обратной записи записывает данные в кэш для пакетной обработки и повышения производительности. Это обеспечивает низкую задержку записи.

Вот как это работает:

  1. Приложение записывает данные напрямую в кэш.
  2. Затем кэш асинхронно записывает данные в базу данных .

Эта стратегия обеспечивает более высокую производительность записи за счёт пакетной обработки. Однако существует риск потери данных в случае сбоя кэша до записи в базу данных.

Он используется в рабочих нагрузках с большим объемом записи, где пропускная способность важнее надежности.

5. Стратегия написания текста

-6

Вот как работает стратегия кэширования с обратной записью:

  1. Приложение записывает данные в базу данных.
  2. Он пытается прочитать данные из кэша позже.
  3. Приложение считывает данные из базы данных при пропуске кэша.
  4. Затем он обновляет кэш.

Хотя эта стратегия оптимизирует хранение кэша для часто используемых данных, существует риск увеличения задержки из-за промахов кэша.

Используется для больших объектов данных, обновления которых происходят редко.

Кратко:

Две популярные реализации кэширования — Redis и Memcached.

  • Чтение больших объемов работы: использование кэша в стороне или стратегий сквозного чтения
  • Согласованность или пропускная способность: используйте стратегии сквозной или обратной записи
  • Избегайте кэширования одноразовых записей: используйте стратегию круговой записи

Важно выбрать правильную стратегию кэширования, исходя из ваших потребностей и компромиссов.