Вопрос проверяет понимание роли Redis как быстрого хранилища данных в современных приложениях.
Redis используется для:
Кэширования часто запрашиваемых данных
Хранения сессий пользователей
Реализации очередей задач
Счетчиков и рейтингов в реальном времени
Основные сценарии использования Redis:
Кэширование данных
Уменьшает нагрузку на основную БД
Пример: кэширование результатов сложных SQL-запросов
Хранение сессий
Быстрый доступ к данным сессии
Автоматическое удаление по TTL
Очереди задач
Реализация Celery или собственных очередей
Атомарные операции (LPUSH, RPOP)
Реалтайм данные
Счетчики просмотров
Рейтинги и топы
Пример использования для кэширования:
import redis
r = redis.Redis()
def get_user_data(user_id):
cache_key = f"user:{user_id}"
data = r.get(cache_key)
if not data:
data = db.query("SELECT * FROM users WHERE id = %s", user_id)
r.setex(cache_key, 3600, data) # Кэш на 1 час
return data