Купить Корзина
Логотип REG.RU
  • Вход
    • Помощь
  • Помощь
  • Серверы VPS
  • Облачные серверы
  • Установка программного обеспечения
  • Что такое Redis

Что такое Redis

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

Что такое Redis

Redis (англ. remote dictionary server) — это нереляционная система управления базами данных. Для хранения данных она использует формат «ключ‑значение». Система написана на языке С и имеет открытый исходный код. Первая версия программы появилась 10 мая 2009 года благодаря разработчику Сальваторе Санфилиппо.

Linux Redis

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

Хранилище используется не только как база данных, но и как средство кэширования и брокер сообщений. Сервер хранит данные не строго в схемах (таблицах, строках и столбцах), а в самих структурах данных. Это позволяет гибко настраивать систему. Кроме того, можно использовать облачный вариант хранилища.

Преимущества

В отличие от стандартных хранилищ данных, решение remote server имеет следующие преимущества:

  1. Высокая производительность. Редис поддерживает хранение данных на сервере исключительно в кэше, поэтому их не приходится перемещать на диск. Это повышает пропускную способность и сокращает задержку ядра — система способна выполнить миллион операций в секунду.
  2. Масштабируемость. В Redis возможна настройка кластерной архитектуры. Благодаря этому можно создавать проекты, которые будут работать надежно и стабильно. Также можно выбрать размер кластера или нарастить его: доступны варианты горизонтального и вертикального масштабирования.
  3. Асинхронная репликация. Она позволяет копировать информацию на несколько связанных серверов. Таким образом можно распределить запросы между несколькими серверами, и это положительно повлияет на скорость чтения и восстановления данных при сбое.
  4. Поддержка различных структур данных. Обычно хранилища работают с ограниченным набором данных. В отличие от них Redis обрабатывает разнообразные типы данных: строки, списки, потоки, JSON, битовые массивы, гиперлоги и другие.
  5. Функциональность. С помощью Redis можно создать сложный код с меньшим количеством простых строк (для хранения, использования и организации доступа к данным). Например, вы хотите настроить перемещение данных в хранилище одной строкой кода. Обычно, чтобы реализовать эту задачу, потребуется написать код со сложной структурой. В Redis для этого достаточно использовать хэш данных. Языки, которые поддерживает Redis, — Java, PHP, C++, JavaScript, Node.js, Python, Ruby, Go и другие.

Несмотря на большое количество преимуществ, СУБД Redis не универсальна и подходит для ограниченного списка задач и проектов.

Для чего применяется Redis

Рассмотрим, зачем нужен Redis:

  • Кэширование данных основного хранилища. Redis cache помогает снизить нагрузку на основное хранилище и само приложение без дорогостоящего наращивания мощностей на серверах.
  • Создание чатов и очередей. Высокая производительность позволяет настраивать «быстрые» ленты новостей в блогах и социальных сетях, обновление лент с комментариями и чатов в режиме реального времени.
  • Брокер сообщений. Позволяет разгрузить веб-сервисы в распределённой системе: при отправке сообщений не требуется дополнительное время на ресурсоёмкие операции (например, маршрутизацию или поиск приёмников).
  • СУБД для крупных приложений. Remote server позволяет равномерно распределить сетевой трафик.
  • Хранение сессий. Благодаря высокой доступности, отказоустойчивости и масштабируемости в Редис удобно хранить данные сессий. Например, содержание корзин пользователей в интернет-магазине или части HTML-кода страниц.
  • Машинное обучение. Redis хранит информацию в скоростном хранилище. Это хранилище данных работает по принципу ОЗУ в компьютере. Оно позволяет быстро обрабатывать большие объемы данных и автоматизировать принятие решений.
  • Хранение промежуточных данных, например из форм голосования или таблиц со сбором результатов.
  • Хранение «быстрых» данных, которыми оперируют при аналитике, анализе данных, на торговых сервисах. Это подходит для решений с потоковой передачей, по типу Amazon Kinesis и Apache Kafka.
  • Таблицы лидеров в играх. Структура данных Redis Sorted Set позволяет создавать ранжированные списки в режиме реального времени. Чтобы внести одно изменение, достаточно обновить результат конкретного пользователя, а не всей таблицы.

Для запуска Redis используется команда:

redis-server

Структура хранения данных Redis

Рассмотрим основные типы данных, которые поддерживает Редис-хранилище.

Строки

Как и многие другие системы управления, Редис может работать со строками. Это базовый тип данных. Максимальная длина строки в Redis — 512 МБ.

Строки чаще всего используются:

  • для хранения сессий,
  • для настройки очередей (например, управления заданиями или обмена сообщениями),
  • сбора информации об использовании товаров и услуг в реальном времени.

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

GET line_name

Вместо line_name укажите вашу строку.

Для удаления строки используется команда:

DEL line_name

Вместо line_name укажите вашу строку.

Списки

Списки — это отсортированные строки. При редактировании элементы можно добавлять как в начало, так и в конец списка, тем самым формируя задания очереди. Хранилище читает списки слева направо. Список может содержать более четырех миллиардов элементов.

С помощью команд lpush и rpush можно добавлять новые значения в начало или конец списка.

Чтобы записать значение в начало списка, выполните команду:

lpush key_name "value"

Где:

  • key_name — название списка,
  • value — значение, которое нужно добавить в список.

Чтобы добавить значение в начало списка, выполните команду:

rpush key_name "value"

Где:

  • key_name — название списка,
  • value — значение, которое нужно добавить в список.

Списки можно использовать для формирования потоков сообщений на стене или главной странице в социальных сетях, в таблицах лидеров или дашбордах с результатами голосований, а также новостных лент.

Множества

Множества позволяют выполнять сложные операции: например, пересечения и объединения. Несмотря на их неупорядоченность, такие операции проводятся быстро. Добавление или удаление элементов занимает равное количество времени. Функция SADD следит за тем, чтобы в коде не встречалось повторений. С её помощью удобно проверять значения на уникальность.

Множества могут быть полезны:

  • для отслеживания уникальных IP-адресов пользователей, которые посещали сайт,
  • для установки фильтров на стоп-слова в комментариях с помощью команды SET,
  • для анализа поисковых запросов на конкретную категорию товаров и др.

Хэши

Хэш Redis — это таблица соответствия полей со значениями по модели «ключ-значение». Одна пара «ключ-значение» называется хэш-значением. Хэши используются для представления объектов.

Предположим, вы авторизовались в электронном журнале — в нём хранятся данные о школьной успеваемости. На экране отображается список учеников и их оценки за контрольную работу. Если представить этот список в формате полей и значений, поле — это фамилия ученика, а значение — оценка. В качестве хэш-значения здесь выступает информация об одном ученике, а в качестве хэша — список учеников с их оценками.

В Redis хэш-таблицы могут хранить 2³²-1 пар вида «ключ-значение». Это более 4 миллиардов хэш-значений.

Все возможности, а также работа с командами подробно описаны в официальной документации.

Помогла ли вам статья?
ДаНет
раз уже
помогла

Спасибо за оценку!
Как мы можем улучшить статью?

Нужна помощь?
Напишите в службу поддержки!

REG.RU
  • О компании
  • Контакты и офисы
  • Новости
  • Карьера в REG.RU
  • Руководство
  • Отзывы клиентов
Услуги
  • Стоимость услуг
  • Хостинг
  • Зарегистрировать домен
  • Конструктор и CMS
  • Создать сайт в REG.Site
  • VPS
  • Серверы и ДЦ
  • SSL-сертификат
Партнёрам
  • Партнёрские программы
  • Профессионалам IT
  • Бонусная программа
  • REG.API
  • Промоматериалы
Полезное
  • Акции и скидки
  • Мероприятия
  • Юридическим лицам
  • ЭДО
  • Whois
Помощь
  • База знаний
  • Вопросы и ответы
  • Шаблоны заявлений
  • Оставить отзыв, предложение
  • Сообщить о нарушении

+7 (495) 580-11-11

Телефон в Москве

8 800 555-34-78

Бесплатный звонок по России

           

Нашли опечатку?
Выделите и нажмите Ctrl+Enter

  • mastercard
  • visa
  • mir
  • sberbank
  • qiwi
  • yamoney
  • sbp
Все способы оплаты
© ООО «Регистратор доменных имен РЕГ.РУ» Правила пользования сайтомПолитика обработки персональных данных
Award
shop.reg.ru Магазин доменов
statonline.ru Доменная статистика
reg.ru/blog Мы пишем
  • Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных и Правилами пользования сайтом.