Стратегия — чтение данных
Cache Aside
Когда приложению необходимо прочитать данные из базы данных, оно сначала проверяет кэш на наличие этих данных. Если данные доступны (cache hit), кэшированные данные возвращаются. Если данные недоступны (cache miss), приложение обращается к базе данных. Данные возвращаются приложению и кэш обновляется

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

Стратегия — запись данных
Write Around
В этой стратегии данные записываются только в базу данных без записи в кэш. Данные попадают в кэш только по мере необходимости (см. Cache Aside). Такая стратегия хороша для приложений, которые не часто повторно считывают недавно записанные данные. Стратегия приводит к меньшей задержке записи, но большей задержке чтения, что является приемлемым компромисом для таких сценариев

Write Through
В этой стратегии данные одновременно записываются в кэш и в базу данных. Порядок записи данных тут не важен, главное — это подтверждение того факта, что данные записаны в оба места. Стратегия хороша для приложений, которые часто записывают, а затем с еще большей частотой, считывают данные. Это приведет к несколько большей задержке записи, но низкой задержке чтения. Таким образом, можно потратить немного больше времени на запись данных один раз, но затем получить выгоду от частого чтения с низкой задержкой (латентностью)

Write Back or Write Behind
В этой стратегии данные записываются в кэш, и этого нам достаточно чтобы убедится в том, что данные успешно записаны. Данные также записываются в базу данных, но в фоновом режиме (асинхронно с использованием очереди). Стратегия лучше всего подходит для смешанных операций (чтения или записи), поскольку операции чтения и записи имеют практически одинаковое время отклика


Системный администратор с 2000 года
Участник Freelancehunt, Хабр Q&A
Кейсы