Это инструкция для быстрого запуска Redis для новичков. Прочитав ее, вы сможете:
- Скачать и скомпилировать Redis.
- Использовать redis-cli, чтобы получить доступ к серверу.
- Использовать Redis из приложения.
- Понять, как работает Redis.
- Установить Redis более правильно.
- Узнать, что читать дальше, чтобы узнать еще больше о Redis.
Установка Redis
Предлагаемый способ установки Redis это компиляция его из источников, так как Redis не имеет никаких зависимостей кроме рабочего GCC компилятора и LIBC. Установка его с помощью менеджера пакетов вашего дистрибутива Linux немного расстраивает , так как доступная версия не последняя.
Последний Redis (tar ball ) вы можете скачать с сайта redis.io, или можете воспользоваться специальным URL-адресом, который всегда указывает на последнюю стабильную версию Redis .
Для того, чтобы скомпилировать Redis следуйте этим простым шагам:
1
|
wget http://download.redis.io/redis-stable.tar.gz
|
1
|
tar xvzf redis—stable.tar.gz
|
1
|
cd redis—stable
|
1
|
make
|
На данном этапе вы можете проверить правильно ли работает ваша сборка, попробовав ввести make test, но это необязательный шаг. После компиляции директория src внутри дистрибутива Redis заполняется программами, которые входят в состав Redis:
- redis—server— это сам сервер Redis.
- redis—sentinel — это исполняемый файл Redis Sentinel (мониторинг и отказоустойчивости).
- redis—cli— это служебная программа командной строки для общения с Redis.
- redis—benchmark– используется для проверки исполнения Redis.
- redis—check—aofи redis—check—dump полезны в редких случаях повреждения данных файлов.
Можно скопировать как сервер Redis, так и интерфейс с командной строкой в нужные места, либо вручную с помощью следующих команд:
1
|
sudo cp src/redis—server /usr/local/bin/
|
1
|
sudo cp src/redis—cli /usr/local/bin/
|
Или же просто использовать sudo make install.
В следующей документации мы будем допускать, что /usr/местные/bin в переменной PATH environment , так что вы можете выполнять двоичные файлы без указания полного пути.
Начало работы Redis
Самый простой способ запустить сервер Redis — это просто выполнить бинарный redis-server (binary) без каких-либо аргументов.
1
|
$ redis—server
|
1
|
[28550] 01 Aug 19:29:28 # Warning: no config file specified,
|
1
|
using the default config. In order to specify a config file
|
1
|
use ‘redis-server /path/to/redis.conf’
|
1
|
[28550] 01 Aug 19:29:28 * Server started, Redis version
|
1
|
2.2.12 [28550] 01 Aug 19:29:28 * The server is now ready to accept
|
1
|
connections on port 6379 ... more logs ...<strong> </strong>
|
В приведенном выше примере Redis был запущен без каких-либо явных файлов конфигурации, поэтому все параметры будут использовать внутренний дефолт. Это удобно, если вы только начинаете изучать Redis, но для рабочих сред следует использовать конфигурационный файл.
Для того, чтобы запустить Redis с файлом конфигурации, используйте полный путь к файлу конфигурации в качестве первого аргумента, как показано в следующем примере: redis-server /etc/redis.conf. Используйте файл redis.conf в корневом каталоге дистрибутива исходного кода Redis в качестве шаблона , чтобы написать свой конфигурационный файл.
Проверим, работает ли Redis
Внешние программы общаются с Redis с помощью сокетов TCP и определенного протокола Redis. Этот протокол реализован в библиотеках клиента Redis для разных языков программирования. Можно использовать следующую программу — redis-cli. Первое, что нужно сделать для того, чтобы проверить работает ли Redis исправно – это отправить команду PING с помощью redis-CLI :
1
|
$ redis—cli ping
|
1
|
PONG
|
Запускаем redis-cli , затем имя команды и его аргументы пошлют эту команду к экземпляру Redis, работающему на локальном хосте в порту 6379. Вы можете изменить имя хоста и порт, используя redis-cli , просто попробуйте опцию —help , чтобы проверить информацию об использовании.
Другой интересный способ запустить redis-cli без аргументов : программа будет запущена в интерактивном режиме , вы сможете ввести различные команды и увидеть их ответы.
1
|
$ redis—cli
|
1
|
redis 127.0.0.1:6379> ping
|
1
|
PONG
|
1
|
redis 127.0.0.1:6379> set mykey somevalue
|
1
|
OK
|
1
|
redis 127.0.0.1:6379> get mykey
|
1
|
«somevalue»
|
На данном этапе вы можете «поговорить» с Redis . Это подходящее время, чтобы сделать паузу и начать введение в типы данных, чтобы узнать несколько команд Redis . Если вы уже знаете основные команды Redis, можете продолжать чтение.
Стабильность Redis
Для быстрого старта важно понимать, что если вы начнете Redis с конфигурацией по умолчанию, Redis будет самопроизвольно сохранять набор данных только время от времени (например, после пяти минут, если у вас есть хотя бы 100 изменений в ваших данных), так что если вы хотите, чтобы ваши базы данных сохранялись и перезагружались после перезагрузки убедитесь в том, что вы вызвали команду SAVE. В противном случае убедитесь, что для завершения работы базы данных вы используете команду SHUTDOWN:
1
|
$ redis—cli shutdown
|
С этим способом данные сохранятся на диск перед выходом.
Более правильная установка Redis
Запуск Redis из командной строки отлично подходит как для пробы, так и для разработки. Однако в какой-то момент вам понадобится запустить реальное приложение на реальном сервере. Для этого варианта у вас есть два шага:
- Запуск Redis с помощью экрана.
- Установка Redis в ваш Linux надлежащим образом, используя сценарий инициализации, так после перезагрузки все начнется снова правильно.
Настоятельно рекомендуем правильную установку с использованием скрипта инициализации. Следующие инструкции могут быть использованы для выполнения правильной установки с помощью сценария инициализации, поставляемого с Redis 2.4 в Debian или Ubuntu.
Мы предполагаем, что вы уже скопировали redis-server и redis—cli исполняемые ( /usr/local/bin)
- Создайте каталог для хранения для конфигурационных файлов Redis и данных:
1
|
sudo mkdir /etc/redis
|
1
|
sudo mkdir /var/redis
|
- Скопируйте скрипт инициализации, который вы найдете в дистрибутиве Redis ( /etc/init). Назовите его именем порта, в котором вы запустили данный экземпляр Redis. Например:
1
|
sudo cp utils/redis_init_script /etc/init.d/redis_6379
|
- Отредактируйте скрипт init.
1
|
sudo vi /etc/init.d/redis_6379
|
Убедитесь, что вы изменили REDISPORT соответственно порту, который вы используете. Оба файла – (the pid file path и the configuration file name) зависят от количества портов.
- Скопируйте шаблон файла конфигурации, который вы найдете в корневом каталоге дистрибутива Redis в /etc/redis/ используя номер порта, как название, например:
1
|
sudo cp redis.conf /etc/redis/6379.conf
|
- Создайте каталог в /var/redis, который будет работать в качестве данных и рабочего каталога для данного экземпляра Redis:
1
|
sudo mkdir /var/redis/6379
|
Измените файл конфигурации, убедившись в том, чтобы выполнили следующие изменения:
- Установите daemonize на yes (по умолчанию он установлен на no).
- Установите pidfile в /var/run/redis_6379.pid (измените порт, если это необходимо).
- Соответственно измените порт. В нашем примере этого не требуется, как порт по умолчанию уже 6379.
- Установите предпочитаемый loglevel.
- Установите logfile в /var/log/redis_6379.logo. Установите dir в /var/redis/6379 (очень важный шаг!)
И, наконец, добавьте новый скрипт инициализации Redis для всех уровней, выполняемых по умолчанию используя эту команду:
1
|
sudo update—rc.d redis_6379 defaults
|
Готово! Теперь вы можете попробовать запустить свой экземпляр:
1
|
sudo /etc/init.d/redis_6379 start
|
Убедитесь, что все работает так, как ожидалось:
Проверьте доступность экземпляра с redis-cli. Выполните пробное сохранение с redis-cli save и убедитесь, что «dump file» правильно сохранен в var/redis/6379/ (вы должны найти файл с именем dump.rdb). Убедитесь, что ваш экземпляр Redis правильно логируется.
Если это новый компьютер, где вы можете попробовать сделать всё без проблем, убедитесь, что после перезагрузки все еще работает.
Примечание: В приведенных выше инструкциях мы пропустили много конфигурационных параметров Redis, которые вы могли бы захотеть изменить , например, для того , чтобы использовать AOF persistence вместо RDB persistence , или установить дублирование, и так далее. Прочтите файл с примером redis.conf ( который прокомментирован ) и другую документацию.
Источник: redis.io