Redis — это хранилище структур данных в памяти с открытым исходным кодом, обеспечивающее высокую производительность ваших приложений. Представьте, что вам нужно хранить данные для быстрого извлечения, например содержимое корзины покупок в приложении электронной коммерции. Redis идеально подходит для этой задачи, выступая в качестве сверхбыстрого кэша или даже базы данных для конкретных случаев использования.

Функциональные возможности Redis

  • Структуры данных: Redis обеспечивает гибкость, поддерживая различные структуры данных, такие как строки, списки, наборы и отсортированные наборы. Вы можете выбрать наиболее эффективную структуру для вашего типа данных.
  • Невероятная скорость: благодаря встроенному хранилищу Redis обеспечивает чрезвычайно быстрый доступ к данным, идеально подходит для приложений реального времени и кэширования часто используемых данных.
    Необязательное сохранение: работая в основном с данными в памяти, Redis позволяет сохранять данные на диске для восстановления после перезапуска с использованием моментальных снимков или файлов только для добавления (AOF).
  • Публикация / подписка на обмен сообщениями: Redis может выступать в качестве посредника сообщений, позволяя приложениям взаимодействовать друг с другом по шаблону публикации-подписки.

Зачем настраивать Redis?

В то время как традиционная установка Redis выполняет свою задачу, Docker предлагает привлекательную альтернативу для запуска Redis, особенно в средах разработки. Вот почему вам стоит рассмотреть подход Docker:

  • Изоляция и согласованность: Docker создает автономную среду для Redis, изолируя ее от системных зависимостей. Это предотвращает конфликты и обеспечивает согласованную работу Redis на разных компьютерах разработчиков, независимо от базовой операционной системы.
  • Простая настройка и удаление: забудьте о сложных этапах установки! Docker позволяет загрузить готовый образ Redis и запустить его с помощью одной команды. Аналогичным образом удалить экземпляр Redis так же просто, как остановить и удалить контейнер. Это упрощает процесс разработки.
  • Управление версиями стало проще: Docker отлично подходит для управления различными версиями программного обеспечения. Вы можете легко переключаться между версиями Redis, загружая нужный образ, что позволяет тестировать совместимость и экспериментировать с различными функциями.
  • Улучшена переносимость томов Docker: Тома Docker — это каталоги на вашем хост-компьютере, в которых хранятся данные вне контейнеров. Подключив том к каталогу данных вашего контейнера Redis, вы можете быть уверены, что ваши данные выдержат перезапуск контейнера и даже передачу между компьютерами. Это делает вашу установку Redis действительно переносимой.
  • Запускайте разные базы данных с разными версиями: Docker отлично подходит для управления изолированными средами. Вы можете запускать несколько контейнеров баз данных, каждый из которых работает с разной версией программного обеспечения (например, MySQL 8 и PostgreSQL 14) на одном компьютере. Docker обеспечивает независимую работу каждого контейнера, предотвращая конфликты между версиями баз данных или их конфигурациями.
  • Чистая среда разработки: сохраняя Redis (и, возможно, другие базы данных) в контейнерах, вы избегаете загромождения локальной системы их зависимостями. Это поддерживает чистую среду разработки и упрощает устранение неполадок.
  • Потенциал масштабируемости: Хотя контейнеры Docker превосходны в единичных экземплярах, они также прокладывают путь для будущих исследований. Docker обеспечивает основу для простого масштабирования вашей установки Redis за счет управления несколькими контейнерами в кластере по мере развития ваших потребностей.

Настройка Redis в Docker

Извлеките образ Redis:

Откройте свой терминал и выполните следующую команду, чтобы загрузить официальный образ Redis из Docker Hub:

Запустите контейнер Redis в Docker:

  • -d: Отсоединяет контейнер от терминала, позволяя ему работать в фоновом режиме.
  • --name my-redis: Присваивает контейнеру пользовательское имя (my-redis) для упрощения идентификации.
  • -p 6379:6379: Сопоставляет порт контейнера 6379 (порт Redis по умолчанию) с портом хост-машины 6379. Это позволяет подключаться к Redis с хоста, используя localhost: 6379. Если вы опустите этот флаг, Redis будет доступен только изнутри самого контейнера.
  • redis: Указывает образ для использования, которым в данном случае является redis.

Протестируйте функциональность Redis:

Чтобы подключиться к контейнеру, в котором запущена база данных Redis, введите следующую команду.

docker exec -it my-redis redis-cli

или вам может потребоваться использовать эту команду при использовании git bash в Windows.

winpty docker exec -it my-redis redis-cli

  • docker: Это инструмент командной строки Docker, используемый для взаимодействия с контейнерами Docker.
  • exec: Эта подкоманда инструктирует Docker выполнить процесс в запущенном контейнере.
  • -i: Этот флаг расшифровывается как «интерактивный» и указывает Docker сохранять стандартный ввод (STDIN) открытым для контейнера. Это позволяет вам вводить команды внутри контейнера.
  • -t: Этот флаг обозначает «псевдо-tty» и выделяет псевдо-терминал для контейнера. Это обеспечивает работу с контейнером, подобную оболочке.
  • my-redis: Это имя, которое вы присвоили своему контейнеру Redis при запуске его с помощью docker run. Оно указывает, в каком контейнере вы хотите выполнить команду.
  • redis-cli: Это фактическая команда, которую вы хотите запустить в контейнере. В данном случае это инструмент redis-cli, представляющий собой интерфейс командной строки для взаимодействия с Redis.

Установка Redis Insight: графический интерфейс для управления Redis

Redis Insight упрощает работу с Redis, предлагая разработчикам удобный графический интерфейс. Вот его ключевые преимущества.:

  • Визуализация данных и управление ими: простой просмотр, фильтрация и взаимодействие со структурами данных Redis.
  • Поддерживает различные структуры: легко работает со строками, списками, наборами, отсортированными наборами и хэшами.
  • Гибкое отображение данных: выбирайте из различных форматов данных, таких как JSON, шестнадцатеричный и другие.
  • Удобство использования модуля Redis: взаимодействие с пользовательскими функциями, предоставляемыми модулями Redis.
  • Интеграция с Docker: управляйте экземплярами Redis, запущенными в контейнерах Docker.

Настройка с помощью Redis Insight

Теперь вы можете использовать удобный графический интерфейс для своей базы данных вместе с терминалом по адресу:

Поделитесь своими мыслями об этой статье и вопросами, связанными с Redis, в комментариях.

Обсудить инструкцию можно в Telegram.