Что такое Redis

Простыми словами Redis (англ. Remote Dictionary Server) – это система управления базами данных в виде структур. Redis хранит данные по принципу “ключ - значение”. 

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

Redis поддерживает все самые распространенные языки программирования: Python, Golang, семейство C, Java, Ruby, Perl, PHP и JavaScript.

Плюсы Redis

  • Производительность. Система поддерживает хранение данных исключительно в оперативной памяти сервера. Благодаря этому снижается нагрузка на ядро, а пропускная способность увеличивается – Редис выполняет огромное количество операций каждую секунду.
  • Функциональность. Работая с Redis, вы можете создать самый сложный код с меньшим количеством простых строк. 
  • Асинхронная репликация. Это значит, что если вы скопируйте информацию на несколько связанных серверов, это позволит распределить запросы между несколькими серверами, что важно для увеличения скорости чтения.
  • Масштабируемость. В Redis есть возможность настроить кластерную архитектуру, выбрать размер кластера или нарастить его. Таким образом ваши проекты будут работать быстро и надежно.
  • Гибкость. В отличие от обычных хранилищ в Redis можно работать с неструктурированными данными – они хранятся по типам: строки, списки, потоки и другие. Также вы можете добавить дополнительные типы данных.

Для каких задач подойдет Redis

Самые распространенные цели использования Redis:

  • Хранение сессий пользователей. К примеру, части HTML-кода страниц или товарные позиции в корзине магазина.
  • Кэширование данных основного хранилища. С помощью Redis cache можно снизить нагрузку на основное хранилище и приложение без необходимости наращивать мощности на серверах.
  • Хранение промежуточных данных. Это могут быть формы, таблицы, сообщения на стене.
  • Брокер сообщений. При отправке сообщений можно не тратить много времени и ресурсов.
  • СУБД как для крупных проектов, так и небольших приложений. Весь трафик распределяется равномерно.
  • Хранение “быстрых” данных. Например, для аналитики и других случаев, когда важна скорость и отсутствие задержек передачи.
  • Машинное обучение. Скоростное хранилище, которое использует система для информации, позволяет быстро обрабатывать большие объемы данных и автоматизировать принятие решений. 

Какие типы данных поддерживает Redis 

По умолчанию система поддерживает следующие типы данных:

  • строковые;
  • потоковые;
  • геоданные;
  • хеш-таблицы;
  • битовые массивы и поля;
  • списки;
  • множества, в том числе упорядоченные;
  • HyperLogLog.

Основные команды Redis

Общие команды, которые можно применять для любого типа данных:

  • exists — возвращает 1, если ключ существует и 0, если нет.
  • del - удаляет ключ.
  • type - возвращает тип значения по ключу.
  • expire - удаляет ключ по прошествии указанного времени.
  • ttl - возвращает число: сколько времени осталось ключу до удаления.

Полный список команд вы можете посмотреть на официальном сайте Redis.

Как запустить Redis

Самый простой способ для начала работы с системой – использовать команду:

redis-server

Заключение

В этой статье мы рассмотрели, что такое и зачем нужен Redis. Нет сомнений, что это одна из самых производительных СУБД – об этом говорит время  отклика сервера, которое занимает доли миллисекунд. Именно по этой причине Redis востребован в проектах, где необходимо работать с большим количеством данных: аналитика, разработка, потоковая передача, работа с геоданными и многие другие.

Кроме того, настройка Redis происходит гибко благодаря тому, что сервер хранит данные в структурах данных, а не строго в схемах.

Всё ещё остались вопросы?