На странице собраны вопросы по Redis — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: redis, database, backend.
Разделите опыт по сценариям Redis: кеш, структуры данных, Pub/Sub и Streams имеют разные гарантии. Назовите, что использовали сами и как обрабатывали сбои.
Нужно атомарно проверить и уменьшить лимит в том месте, где он хранится: командой/скриптом Redis для общего состояния либо asyncio.Lock для одного процесса. Измерение ожидания полезно дополнительно.
В декораторе ошибочны wrap, time.now и return в finally. Нужно functools.wraps, монотонный таймер и логирование без подмены результата; декоратор должен быть определён до применения.
Обычно основная БД — источник истины, а Redis хранит восстанавливаемые копии. После commit изменения кеш инвалидируют или обновляют, учитывая гонки, повторы событий и допустимую устарелость.
Опишите поток: изменения фиксируются в основной БД, событие поступает в Kafka, consumer обновляет или инвалидирует Redis. Redis здесь ускоряет чтение, а Kafka доставляет изменения.
Redis — хранилище и инфраструктурный компонент, regex — механизм поиска и замены текстовых шаблонов. Это не взаимоисключающие способы очистки документов.
Суммаризация относится к управлению контекстом, а не обязательно к хранилищу сессий. Redis или SQL могут хранить историю, а отдельный компонент — сокращать её и выбирать нужные воспоминания.
Выбор Redis для очереди можно обосновать простотой, имеющейся инфраструктурой и приемлемыми гарантиями. Но сравнивать нужно конкретный механизм очереди, а не только названия Redis, Kafka и RabbitMQ.
Redis не обязательно неперсистентный: у него есть RDB и AOF. Если сохранение отключено и уведомления существуют только в памяти этого экземпляра, после перезапуска они могут быть потеряны.
Основные структуры Redis: строки, hashes, lists, sets, sorted sets и streams. Есть также битовые операции, HyperLogLog, геоданные и дополнительные типы в зависимости от версии и поставки.
Kafka принимает события планирования, обработчик сохраняет job ID в Redis sorted set со временем отправки в score, а scheduler выбирает наступившие задания и передаёт исполнителям.
Перечислите БД, с которыми действительно работали, и характер использования: схема, запросы, эксплуатация или только клиентская интеграция. Redis тоже относится к нереляционным хранилищам.