Вступить в клуб →
лёгкаявопросPostgreSQL и Redis: запросы и кэш

Пользователи видят старый профиль после успешного сохранения

Профиль читается по схеме cache-aside: сначала из Redis, при промахе — из PostgreSQL с записью в кэш и TTL 10 минут. Обновление профиля пишет только в PostgreSQL. Пользователь меняет имя, получает 200, но в интерфейсе ещё несколько минут видит старое. Что происходит?

  • Ключ в Redis не инвалидируется при записи, и до истечения TTL отдаётся устаревшее значение
  • Транзакция в PostgreSQL не закоммичена, поэтому изменения не видны читателям
  • Redis отдаёт значение с реплики, где запись ещё не применилась
  • TTL слишком короткий, и ключ успевает несколько раз перезаписаться старым значением

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела