Назовите реально использованные базы и их задачи. Для Redis уточните, что кешировалось, как задавались TTL и инвалидирование и что происходило при недоступности кеша.
Подтвердите, что именно делали с Redis в автотестах: подготовку, чтение, очистку или проверку поведения через приложение. Не приравнивайте использование командной обёртки к разработке всего клиента.
Отдельный Redis позволяет разделять кэш между экземплярами сервиса и управлять им независимо. Внутренний кэш проще и быстрее по доступу, но каждый процесс хранит собственное состояние.
Назовите фактическую роль Redis: кэш, сессии, счётчики, очереди или другое. Само наличие Redis в стеке не позволяет понять, какие данные и гарантии использовал ваш проект.
Redis — сервер структур данных, часто используемый для кэша, сессий, счётчиков и быстрых операций по ключу. Его роль в конкретном проекте нужно описывать по факту, а не предполагать.
Нужно проверить связанные эффекты по контракту: обновление или инвалидацию Redis, корректное событие Kafka и отображение результата на frontend, но не добавлять проверки несвязанных компонентов.
TTL выбирают по измеренной длительности критической секции, включая хвосты и сбои, но один большой timeout не гарантирует безопасность. После истечения lease старый worker может продолжить работу одновременно с новым.
lru_cache подходит для дешёвого локального кеша результатов внутри одного процесса. Redis или Memcached выбирают, когда кеш нужен нескольким экземплярам приложения и требуется отдельное управление хранением.
Наиболее надёжен последний вариант с учётом области состояния: атомарная операция Redis для нескольких workers либо asyncio.Lock для одного event loop. Проверка и уменьшение должны составлять одну критическую операцию.
Pipelining отправляет несколько команд без ожидания ответа на каждую, уменьшая число round trips и сетевых вызовов. Для 10 000 команд подберите ограниченные пакеты и обязательно прочитайте все ответы.
Redis использует RESP, MongoDB — собственный бинарный wire protocol с BSON, Elasticsearch для клиентского API обычно использует HTTP(S) и JSON. Это прикладные протоколы, а не разновидности TCP.
В классической модели Redis основное выполнение команд сериализовано, но часть работ выполняется другими потоками или процессами. В Redis 6 появились настраиваемые I/O threads для сетевого ввода-вывода.