Redis — это система управления базами данных, которая хранит данные в формате «ключ-значение»: уникальному ключу в БД соответствует некоторое значение. Данные в этой базе данных хранятся в оперативной памяти, благодаря чему запросы обрабатываются быстро.
Согласно рейтингу DB-Engines.com, Redis — это самая популярная СУБД «ключ-значение». Благодаря этому типу, архитектура базы и запросы к ней проще, чем в реляционных баз данных. Однако использовать привычный SQL на стандартном Redis не получится: придется работать с Lua-скриптами или устанавливать модифицированные версии, например RediSQL.
Redis лучше всего использовать в проектах, где нужна база данных с быстрым доступом к данным и простой схемой.
Чтобы вы могли комфортно использовать эту СУБД в своих проектах, мы подготовили материал по установке Redis на три операционные системы: на Windows, Ubuntu и CentOS. По завершении установки мы настроим Redis, после чего СУБД будет готова к работе.
Базы данных
Redis: установка на Windows
Есть два варианта установки Redis на Windows:
- установка портированной версии;
- установка в WSL или Docker.
В этом разделе мы разберем установку портированной версии. Если вы хотите установить в WSL, то:
- руководство по установке и настройке WSL в Windows 10 вы найдете в материале «Как установить Node.js на Windows» в разделе «Установка WSL»;
- инструкция по установке на Ubuntu описана чуть ниже в разделе «Установка на Ubuntu».
Портированная версия для Windows вышла довольно давно: в 2016 году. Она размещена на github и доступна для скачивания всем пользователями. Преимущества установки этой версии заключается в её простоте: для установки не потребуется дополнительная «прослойка» в виде Docker или WSL. Выбирайте порт для Windows, если не хотите усложнять процесс установки и вас устраивает 6-летняя версия.
Установка Redis на Windows
Шаг 1 — заходим в репозиторий на GitHub портированной версии по ссылке: https://github.com/microsoftarchive/redis.
Шаг 2 — переходим на вкладку «Releases».
Шаг 3 — выбираем последний релиз.
Шаг 4 — скачиваем файл с расширением .msi. На изображении он выделен синим цветом:
Шаг 5 — после загрузки откройте файл. Начнется установка.
Шаг 6 — во время установки инсталлятор предложит вам добавить Redis в PATH. Если хотите использовать СУБД из командной строки, проставьте галочку напротив этого пункта.
Шаг 7 — во время выбора порта рекомендуется оставить стандартное значение 6379.
Шаг 8 — после установки необходимо перезагрузить компьютер.
После загрузки компьютера проверим работоспособность Redis. Для этого в командной строке выполняем команду redis-server.
При её выполнении может возникнуть ошибка со следующим сообщением:
Проблема заключается в том, что Windows в автоматическом режиме после установки регистрирует службу, к которой привязывает порт 6379. Когда выполняется команда redis-server, исполнитель обращается к файлу конфигурации и использует порт по-умолчанию, т.е. 6379. Из-за этого возникает ошибка.
Чтобы её решить открываем командную строку и делаем следующее:
- переходим в каталог Redis командой cd;
- запускаем redis-cli.exe;
- выключаем сервер командой shutdown;
- выходим командой exit.
Вот набор команд для стандартного каталога:
После этих действий команда redis-server успешно выполнилась:
Настройки Redis описываются в двух файлах: redis.windows.conf и redis.windows-service.conf.
- Redis.windows-service.conf описывает настройки СУБД, запущенной в качестве службы. Этот формат подразумевает работу в фоновом режиме под управлением операционной системы (запуск при перезагрузке, перезапуск при сбоях и т.п).
- Redis.windows.conf относится к использованию СУБД из командной строки с помощью redis-cli. Это же относится и к использованию СУБД в своих скриптах.
Настройка этих файлов приведет к изменению работы Redis. В нашем случае настроек минимальное количество: СУБД прослушивает любые подключения. Это не совсем безопасно, поэтому позволим подключение к Redis только с localhost. Для этого в файлах конфигурации находим задокументированную строку #bind 127.0.0.1 и удаляем решетку «#»:
Установка Redis: Ubuntu 22.04
Устанавливать Redis на Ubuntu мы будем из официального репозитория. Также, эта инструкция подойдет для установки Redis на Debian.
Шаг 1 — в первую очередь обновим индексы пакетов apt:
sudo apt update
Шаг 2 — загружаем Redis:
sudo apt install redis-server -y
Проверить работоспособность можно командой sudo systemctl status redis:
Служба активна.
Установка Redis: CentOS 7
Устанавливать Redis будем на CentOS 7. В первую очередь установим EPEL (Extra Packages for Enterprise Linux) — это пакет с дополнительными репозиториями, которые не включены в стандартную версию CentOS. Установим их:
sudo yum install epel-release
Теперь мы можем установить redis:
sudo yum install redis -y
Через несколько минут редис будет установлен на компьютер. Чтобы включить редис в автозагрузку, выполняем следующую команду:
sudo systemctl enable redis
Настройка Redis осуществляется через изменение конфигурационных файлов. Они для всех версий будут одинаковыми. Поэтому, для наглядной настройки, мы настроим Redis на операционной системе Ubuntu и удаленно подключимся к ней с Windows.
Для осуществления базовой настройки нам необходимо изменить 2 параметра: открыть удаленное подключение и установить пароль.
Шаг 1 — генерируем пароль:
openssl rand 25 | openssl base64 -A
Вывод:
/37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
Злоумышленники могут перебирать до 150 тысяч паролей в секунду, поэтому важно выбрать надежный пароль. Копируем полученный результат и переходим к конфигурационному файлу.
Шаг 2 — открываем конфигурационный файл:
sudo nano /etc/redis/redis.conf
Шаг 3 — изменяем конфигурацию.
Найдем в конфигурационном файле строку «bind 127.0.0.1 ::1» и закомментируем её с помощью #. Не закрывая файл, найдем строку «protected-mode yes» и заменим её на «protected-mode no». В раздел «Security» после строки #requirepass foobared добавляем строку со сгенерированным паролем:
requirepass /37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
Закрываем файл и сохраняем все изменения.
Шаг 4 — перезапускаем Redis, чтобы изменения вступили в силу:
sudo systemctl restart redis.service
Шаг 5 — с помощью netstat проверяем, какие сетевые интерфейсы прослушивает Redis:
sudo netstat -lnp | grep redis
Шаг 6 — подключаемся удаленно. Попробуем подключиться к базе данных из командной строки Windows:
redis-cli -h 192.168.43.37 -p 6379 -a /37DQhAt5MBq/34Lj24Ppn5LI/UZksAZJQ==
Пропингуем СУБД:
192.168.43.37:6379> ping
PONG
И вставим кортеж:
192.168.43.37:6379> set key test
OK
192.168.43.37:6379> get key
"test"
Redis как DBaaS
DBaaS (database as a service) — это база данных, размещенная в облаке. Этот сервис похож на аренду сервера, только вместо виртуальной машины вы получаете базу данных. Такой вариант обладает рядом преимуществ:
- меньшее количество административных хлопот: не нужно обновлять СУБД и обслуживать оборудование;
- легкое масштабирование базы данных: если для вашего проекта потребовалась более производительная БД, то это легко сделать в панели управления;
- быстрый старт: СУБД будет установлена на старте;
- бесперебойная работа.
Заключение
В Timeweb.cloud есть услуга «Облачные базы данных» — уже готовое и настроенное решение. Если вы не хотите отягощать себя административными манипуляциями, то вы можете арендовать базу данных на Redis у Timeweb Cloud. Помимо Redis, Timeweb Cloud может предложить в качестве СУБД MySQL, PostgreSQL и MongoDB.
Use Redis on Windows for development
Redis is not officially supported on Windows. However, you can install Redis on Windows for development by following the instructions below.
To install Redis on Windows, you’ll first need to enable WSL2 (Windows Subsystem for Linux). WSL2 lets you run Linux binaries natively on Windows. For this method to work, you’ll need to be running Windows 10 version 2004 and higher or Windows 11.
Install or enable WSL2
Microsoft provides detailed instructions for installing WSL. Follow these instructions, and take note of the default Linux distribution it installs. This guide assumes Ubuntu.
Install Redis
Once you’re running Ubuntu on Windows, you can follow the steps detailed at Install on Ubuntu/Debian to install recent stable versions of Redis from the official packages.redis.io
APT repository.
Add the repository to the apt
index, update it, and then install:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
sudo apt-get update
sudo apt-get install redis
Lastly, start the Redis server like so:
sudo service redis-server start
Connect to Redis
You can test that your Redis server is running by connecting with the Redis CLI:
redis-cli
127.0.0.1:6379> ping
PONG
Step 1: Download Redis for Windows
- Visit the Redis for Windows GitHub repository: https://github.com/microsoftarchive/redis
- Click on the «releases» tab and choose the latest release (or the version you wish to install).
- Download the zip file containing the binaries (for example,
Redis-x64-<version>.zip
).
Step 2: Extract the Redis binaries
- Once the download is complete, extract the contents of the zip file to a folder of your choice. For example, you can extract it to
C:\Redis
.
Step 3: Install Redis as a Windows service
- Open a command prompt (cmd) with administrative privileges.
- Navigate to the Redis folder you extracted earlier, for example:
cd C:\Redis
. - To install Redis as a service, run the following command:
redis-server --service-install redis.windows-service.conf
. This will use the configuration file provided with the binaries. - You should receive a message indicating that Redis has been successfully installed as a service.
Step 4: Start Redis service
- To start the Redis service, run the following command:
redis-server --service-start
. - You should receive a message indicating that the Redis service has been started.
Step 5: Verify Redis installation
- In the command prompt, run the Redis CLI by typing
redis-cli
and pressing Enter. - To check if Redis is running, type
ping
and press Enter. If Redis is running, it will return «PONG». - You can also run other Redis commands to interact with the server, such as
SET key value
andGET key
.
Managing Redis on Windows
- To stop the Redis service, run the following command:
redis-server --service-stop
. - To uninstall the Redis service, run the following command:
redis-server --service-uninstall
. - To configure Redis, edit the
redis.windows-service.conf
file in the Redis folder. You can modify settings like memory limits, logging, and security options. After making changes, restart the Redis service to apply the new configuration.
For more information and advanced configuration options, consult the official Redis documentation: https://redis.io/documentation
28 ноября 2024
Что такое Redis, и для чего он нужен? Как его установить и использовать? Основные типы данных.
- все проекты выполнены в плановые сроки, а результаты приняты Заказчиками;
- корпоративная награда Logrocon. «Команда года — 2022»;
- повышение квалификации:
- обучение методологии разработки учётной системы ERP Ultima 2C и интеграции её с внешними системами.
Навыки
Разработка ПО:
- Стек технологий .NET — C#, ASP .NET MVC, LINQ, Entity Framework, Dapper, .NET Core;
- PHP (YII, Cake PHP);
- 1С;
- DI контейнеры — Autofac, MEF, Castle Windsor, .NET Core встроенный;
- Стек технологий frontend — HTML, CSS, SAAS, Bootstrap, AngularJS, ReactJS, Redux, Javascript native, Webpack, NodeJS;
- написание тестов: NUnit, xUnit;
- навыки проектирования и реализации БД (SQL / T-SQL).
Опыт использования продуктов:
- системыконтроля версий — Git, TFS, SVN;
- среды разработки — MS Visual Studio, VS Code, PgAdmin, MS SQL Management studio, Oracle sql developer;
- базыданных — PostgreSQL, MSSQL Server, Oracle, MySql, MongoDb, ElasticSearch, OpenSearch;
- коммуникационные шины — RabbitMQ;
- хранилища в памяти — Redis;
- логирование — Nlog, Serilog, Loki + Grafana;
- валидация — FluentValidation.
Развертывание: · Docker.
Кеширование на уровне приложения vs Распределённое кеширование
Redis (Remote Dictionary Server) — удалённое хранилище в памяти
Может использоваться как база данных, как брокер сообщений. В основном используется в роли кеша, предназначенного для ускорения получения данных в паре с основной базой данных (PostgreSQL и др.). Целесообразно хранить данные, которые редко меняются и используются на чтение.
Установка Redis на Windows
1. Включить WSL (подсистема Windows для Linux).
2. Установить дистрибутив Ubuntu.
3. Запустить терминал, задать логин, пароль, обновить (sudo apt-get update) …
4. Установить Redis, запустить redis-cli. При необходимости указать хост и порт.
Ключи Redis (регистрозависимые)
Любая последовательность байтов. Обычно используются строки, но можно также использовать числа (будет переведено в строку) или содержимое файла
Для получения всех ключей (или только нужных — по паттерну) используется команда KEYS
В ключе можно выделять основную часть (и) и специфичную для данной записи — для облегчения поиска по паттерну => animals.cat.
Подробнее о теме в нашей видеолекции ниже.
Содержание лекции:
00:00:00 — Вступление. Зачем нужен Redis? Что такое кеширование?
00:05:55 — Установка на Windows. Ключи Redis.
00:12:23 — Основные типы данных. Строки (String). Неупорядоченные множества (Set). Списки (List). Хэш таблицы (Hash).
00:21:35 — Устаревание данных (expiration). redis-cli help.
00:24:41 — Почему именно Redis? Варианты развертывания.
00:32:00 — Постоянное хранение в Redis. OpenSource интерфейс взаимодействия (Another Redis Desktop Manager).
00:39:38 — Использование Redis с помощью библиотек C#. Распределенная блокировка (алгоритм Redlock). Распределенное кеширование.
00:44:50 — Запускаем тестовое приложение. Работа с библиотекой StackExchange.Redis.
00:54:49 — Вопросы.
Вам также может быть интересно
#База знаний
-
0
Пошаговое руководство по работе с популярной NoSQL базой данных.
vlada_maestro / shutterstock
Преподаватель Skillbox. Пишет про Java, учит Go. Помнит рассвет PHP и как «грабить корованы».
Просто и быстро установить Redis в ОС Windows позволяет Chocolatey. Это менеджер пакетов в среде Windows, аналогичный apt-get в мире Linux. С его помощью можно устанавливать множество программ и обновлять их, не скачивая каждый раз дистрибутив с сайта.
Действуем по инструкции с официального сайта проекта Chocolatey.
- Windows 7+ / Windows Server 2003+;
- PowerShell v2+. Для установки с сайта требуется как минимум v3 (из-за требований TLS 1.2);
- .NET Framework 4+. Программа попытается установить .NET 4.0, если он не установлен. Минимальная необходимая версия для установки с этого веб-сайта — 4.5 (из-за требований TLS 1.2).
Запустите консоль запуска команд, нажав WIN + R, и введите команду cmd. Если вверху выведена версия Windows, как на скриншоте, этого достаточно.
Если нет, введите команду systeminfo. В начале вывода должна появиться версия Windows.
Если у вас установлена версия 7 или выше — переходим к следующему шагу.
Для этого открываем PowerShell, вводим команду $PSVersionTable.PSVersion и получаем ответ:
На нашем скриншоте версия PowerShell 5.1. Если у вас версия ниже 3, необходимо установить PowerShell версии 3 (или выше). Инструкция есть по этой ссылке.
Запускаем редактор реестра: нажимаем WIN + R и выполняем команду regedit.
Переходим в раздел
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP и смотрим, какие папки там присутствуют:
Если нет такой ветки или отсутствует версия 4.0 и выше, то необходимо её установить. Подробная инструкция находится по этой ссылке.
После всех подготовительных действий устанавливаем Chocolatey. Это делается одной командой PowerShell.
Важно! До начала установки необходимо проверить, есть ли на это права. Если прав недостаточно, их нужно добавить.
В PowerShell необходимо убедиться, что Get-ExecutionPolicy не является Restricted. Рекомендуется использовать Bypass для снятия ограничений или AllSigned для более безопасного использования.
Выполните команду Get-ExecutionPolicy. Если она вернёт Restricted, запустите Set-ExecutionPolicy AllSigned (рекомендуется) или Set-ExecutionPolicy Bypass -Scope Process.
После этого введите команду установки:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
Если всё прошло успешно, получим:
В этом случае можно переходить к установке пакетов приложений. В нашем случае это будет Redis.
Находим в поиске Chocolatey нужный пакет Redis, например, https://chocolatey.org/packages/redis-64/3.0.503 — и копируем (клавиши Ctrl-C) указанную на сайте ссылку для установки:
Примечание: после версии 3.0.503 текущий проект был переименован и больше не разрабатывался, однако для знакомства с Redis и её изучения подходит.
Затем вводим скопированную команду из буфера обмена (Ctrl-V) в консоль PowerShell:
choco install redis-64 --version 3.0.503
Если установка прошла нормально, получаем:
Теперь пробуем использовать Redis. Для этого запускаем сервер, выполнив команду:
Если у вас включён брандмауэр, разрешите в нём доступ к Redis. В консоли PowerShell должно появиться сообщение о том, что сервер Redis работает и принимает соединения.
После этого откройте ещё одно окно Powershell, не закрывая окно с запущенным сервером. В новом выполните команду:
Теперь вы можете использовать redis в командной строке для работы с сервером Redis:
Для использования в коде программы и для связи с сервером вам может понадобиться номер порта для подключения. Его можно найти в окне запуска Redis:
Бесплатный курс по Python ➞
Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе.
Смотреть программу