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

Введение

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

Как использовать это руководство

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

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

В качестве альтернативы вы можете предоставить управляемый экземпляр базы данных Redis для тестирования этих команд, но в зависимости от уровня контроля, предоставляемого вашим поставщиком базы данных, некоторые команды в этом руководстве могут не работать так, как описано. Чтобы предоставить управляемую базу данных DigitalOcean, следуйте нашей документации по продукту Управляемые базы данных. Затем вам необходимо либо установить Redli, либо настроить TLS-туннель, чтобы подключиться к управляемой базе данных через TLS.

Обратите внимание, что управляемые базы данных Redis обычно не позволяют пользователям изменять файл конфигурации. Если вы работаете с управляемой базой данных от DigitalOcean, команды, описанные в этом руководстве, приведут к ошибкам.

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

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

  1. sudo nano /etc/redis/redis.conf

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

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

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

  1. config set parameter value

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

  1. config set "dbfilename" "new_file.rdb"

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

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

Сделать изменения конфигурации постоянными

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

  1. config rewrite

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

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

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

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

  1. config get repl*

В зависимости от вашей конфигурации Redis, эта команда вернет что-то похожее на следующее:

Output
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 set, выполнив config get *.

Заключение

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

Для получения дополнительной информации о командах Redis ознакомьтесь с нашим сериалом уроков по Управлению базой данных Redis.

Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration