[AFF-BACKEND-009] Интегрировать Redis-кэш для метода /suggestions
Разработка affinity-service (Backend): Реализация быстрого чтения Sorted Sets из Redis для рекомендаций.
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. Шаги
- Настроить Redis-клиент (библиотека
redis-py) в FastAPI приложении. - Реализовать чтение множеств по ключу
affinity:{group_id}:{product_id}.