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