Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Redis : redis, queue

Как происходит добавление элемента в очередь в Redis?

Этот вопрос проверяет, понимаете ли вы, как Redis используется как очередь и какие команды для этого применяются.

Короткий ответ

В Redis очередь обычно реализуется с помощью списка. Элемент добавляют командами LPUSH или RPUSH. Одна сторона списка считается “входом”, другая — “выходом”. Для безопасного чтения часто используют блокирующие команды. Такой подход прост и очень быстрый.

Длинный ответ

Redis не имеет отдельного типа “очередь”, но предоставляет структуры данных, из которых ее легко построить.

Определение

Определение: Очередь в Redis — это шаблон использования списка (list), где элементы добавляются с одной стороны и извлекаются с другой.

Базовая реализация очереди

Перед перечислением важно зафиксировать принцип FIFO (первый вошел — первый вышел).

Добавление элемента

Для добавления используются команды:

  1. LPUSH — добавляет элемент в начало списка

  2. RPUSH — добавляет элемент в конец списка

Пример добавления задачи:

import redis

r = redis.Redis()

r.rpush("tasks", "task_1")
r.rpush("tasks", "task_2")

Извлечение элемента

Для получения элемента обычно используют:

  • LPOP — извлечь с начала

  • RPOP — извлечь с конца

task = r.lpop("tasks")

Блокирующие очереди

Чтобы не опрашивать Redis в цикле, применяют блокирующие команды.

  • BLPOP

  • BRPOP

Они ждут появления элемента:

task = r.blpop("tasks", timeout=5)

Где это применяется

  • Фоновые задачи

  • Очереди обработки событий

  • Простые job-системы

Вывод

Очередь в Redis реализуется через списки с помощью LPUSH/RPUSH и LPOP/RPOP, а для надежной обработки часто используют блокирующие команды.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Redis

    Redis

Ключевые слова

#redis

#queue

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.