Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.
Как синхронизировать данные в Redis-кэше и основной базе данных?
Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.
Cache-aside прост, но читатель может записать старое значение после инвалидации. Для критичных случаев нужны версии записи, согласованный порядок и защита от устаревшего обновления. Outbox/CDC помогают надёжно передать изменение; TTL служит страховкой, а не строгой синхронизацией. Если нужна немедленная консистентность, критичное чтение направляйте в источник или используйте более строгий протокол.