Изменение конфигураций Redis с помощью командной строки

Redis – это открытое in-memory хранилище типа «ключ-значение». Redis предоставляет несколько команд, с помощью которых вы можете вносить изменения в конфигурацию сервера Redis на лету. В этом мануале мы рассмотрим некоторые из этих команд и расскажем, как сделать внесенные изменения постоянными.

Как работать с этим мануалом

Это руководство задумано как шпаргалка с примерами. Его не нужно выполнять последовательно – вы можете просто перейти к любому разделу, который имеет отношение к нужной вам задаче.

Команды, использованные в этом мануале, были протестированы на сервере Ubuntu 18.04 и экземпляре Redis версии 4.0.9. Чтобы настроить аналогичную среду, вы можете следовать разделу 1 руководства Установка и защита Redis в Ubuntu 18.04. Мы покажем, как эти ведут себя команды в redis-cli, интерфейсе командной строки Redis. Обратите внимание, что если вы используете другой интерфейс Redis — например, Redli – то вывод некоторых команд будет отличаться.

Изменение конфигурации Redis

Команды, описанные в этом разделе, изменят поведение сервера Redis только в рамках текущего сеанса или до тех пор, пока вы не запустите команду config rewrite, которая сделает их постоянными. Вы можете изменить конфигурационный файл Redis напрямую, открыв и отредактировав его в любом удобном текстовом редакторе. Например, для этого вы можете использовать nano:

sudo nano /etc/redis/redis.conf

Важно! Команда config set считается опасной. Изменяя конфигурации Redis, вы можете случайно заставить сервер Redis вести себя непредсказуемым или нежелательным образом. Мы рекомендуем вам запускать команду config set только в целях тестирования или если вы абсолютно уверены, что хотите внести такие изменения в конфигурацию Redis.

В ваших интересах переименовать эту команду. Чтобы сделать это, выполните специальный раздел мануала Установка и защита Redis в в Ubuntu 18.04.

Команда config set позволяет переконфигурировать Redis во время выполнения без перезапуска сервиса. Она использует следующий синтаксис:

config set parameter value

Например, если вы хотите изменить имя файла дампа базы данных, который Redis создаст после выполнения команды save, вы можете выполнить такую команду:

config set "dbfilename" "new_file.rdb"

Если указанное изменение конфигурации допустимо, команда вернет OK. В противном случае она вернет ошибку.

Примечание: Не каждый параметр в файле redis.conf можно изменить с помощью config set. Например, вы не можете изменить пароль аутентификации, определенный параметром requirepass.

Внесение постоянных изменений в конфигурацию

Команда config set не изменяет конфигурации экземпляра Redis навсегда; поведение Redis меняется только для текущей сессии. Чтобы отредактировать redis.conf после выполнения команды config-set и сделать конфигурацию текущей сессии постоянной, запустите config rewrite:

config rewrite

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

Как и команда config set, config rewrite вернет OK, если перезапись выполнена успешно.

Проверка конфигурации Redis

Чтобы просмотреть текущие параметры конфигурации сервера Redis, выполните команду config get. config get принимает один аргумент: это либо точный параметр, который используется в redis.conf, либо шаблон поиска. Например:

config get repl*

В зависимости от конфигурации Redis эта команда может вернуть:

1) "repl-ping-slave-period"
2) "10"
3) "repl-timeout"
4) "60"
5) "repl-backlog-size"
6) "1048576"
7) "repl-backlog-ttl"
8) "3600"
9) "repl-diskless-sync-delay"
10) "5"
11) "repl-disable-tcp-nodelay"
12) "no"
13) "repl-diskless-sync"
14) "no"

Чтобы вывести все параметры конфигурации, поддерживаемые config, запустите config get *.

Заключение

В этом мануале мы подробно рассмотрели, как работают команды redis-cli для внесения изменений в конфигурационный файл сервера Redis.

Tags: , , , ,