[AFF-BACKEND-009] Интегрировать Redis-кэш для метода /suggestions

Разработка affinity-service (Backend): Реализация быстрого чтения Sorted Sets из Redis для рекомендаций.

Author

Services Task & Simulation Framework Documentation

Published

July 13, 2026

NoteКраткая карточка задачи
  • Эпик: [EPIC-AFF-001] Streaming Behavior Scorer & Affinity Matrix
  • Тип задачи: Backend
  • Компонент: affinity-service (FastAPI REST / Redis Client)
  • Статус: Готово к реализации
  • Ссылка на Метод: Метод GET /api/v1/affinity/suggestions

1. Бизнес-контекст и цель (Business Context)

Для соблюдения SLA лимитов времени ответа сервера (<50мс) при запросах рекомендаций с мобильных устройств, метод /suggestions не должен выполнять дисковые операции сортировки ORDER BY в PostgreSQL. Данные должны извлекаться из оперативной памяти.

Цель задачи: Написать логику http-метода в файле suggestions.py, который подключается к пулу Redis, запрашивает структуру ZREVRANGE по ключу группы home_group_id для переданного product_id и мгновенно возвращает топ-20 сопутствующих товаров.

2. Шаги

  1. Настроить Redis-клиент (библиотека redis-py) в FastAPI приложении.
  2. Реализовать чтение множеств по ключу affinity:{group_id}:{product_id}.