Введение
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
для этого:
- sudo nano /etc/redis/redis.conf
Предупреждение: Команда config set
считается опасной. Изменение файла конфигурации Redis может привести к непредвиденному или нежелательному поведению сервера Redis. Мы рекомендуем выполнять команду config set
только в случае тестирования её поведения или если вы абсолютно уверены, что хотите внести изменения в конфигурацию Redis.
Вашему интересу может соответствовать переименование этой команды в что-то, что менее вероятно будет запущено случайно.
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
, либо шаблоном globs. Например:
- 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