Postgres + кэш в Redis по схеме cache-aside. Первый клиент получил промах, прочитал строку из Postgres и «заснул»; второй обновил строку и кэш; первый проснулся и записал в кэш старое значение. Как этого не допустить?
Так тоже спрашивают:
- Есть Postgres и кэш Redis. Клиент идёт читать из Redis, если данных нет — читает из Postgres и кладёт в Redis. Как не допустить ситуацию, когда первый клиент пошёл в Postgres и «заснул», второй клиент обновил данные в Postgres и обновил кэш, а первый клиент «проснулся» и тоже обновил кэш — и там уже неактуальные данные?
⌘ Enter — проверить