Простыми словами 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 происходит гибко благодаря тому, что сервер хранит данные в структурах данных, а не строго в схемах.