Вступить в клуб →
средняявопросКэш, очереди и фоновые задачи

Кэш списков каталога: какие ключи сбрасывать при изменении товара

Выдача каталога кэшируется по комбинации фильтров: ключ вида catalog:{хеш фильтров}:page:{n}. Таких ключей десятки тысяч. Менеджер изменил один товар, и его нужно увидеть во всех списках, куда он попадает.

Как поступают в этой ситуации?

  • Пройти по всем ключам командой KEYS catalog:* и удалить подходящие: это обычная и безопасная операция для боевого Redis
  • Списки не кэшируют в принципе: кэшируются только отдельные сущности по идентификатору, а страницы собираются из них на лету
  • Выполнить FLUSHALL: это самый простой способ, и он безопасен, потому что все данные всё равно восстановятся из базы
  • Использовать версию в пространстве ключей (номер версии внутри ключа) или теги, чтобы одним действием обесценить всю группу списков

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

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

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

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