Персистентность и простая конфигурация в Redis

RedisRedisBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этой лабораторной работе вы узнаете, как управлять конфигурацией и персистентностью (persistence) Redis. Мы начнем с использования команды CONFIG GET для просмотра конфигурации Redis-сервера, что позволит нам получить значения определенных параметров, таких как maxmemory и logfile, предоставляя информацию о поведении Redis. Мы также узнаем, как изменять параметры конфигурации с помощью CONFIG SET и сохранять данные на диск с помощью команд SAVE и BGSAVE. Это обеспечит всестороннее понимание того, как настраивать и управлять персистентностью данных в Redis.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL redis(("Redis")) -.-> redis/RedisGroup(["Redis"]) redis/RedisGroup -.-> redis/access_cli("Connect Using CLI") redis/RedisGroup -.-> redis/store_string("Set String Value") redis/RedisGroup -.-> redis/fetch_string("Get String Value") subgraph Lab Skills redis/access_cli -.-> lab-552079{{"Персистентность и простая конфигурация в Redis"}} redis/store_string -.-> lab-552079{{"Персистентность и простая конфигурация в Redis"}} redis/fetch_string -.-> lab-552079{{"Персистентность и простая конфигурация в Redis"}} end

Просмотр конфигурации Redis

В этом шаге мы рассмотрим, как просмотреть конфигурацию Redis-сервера с помощью команды CONFIG GET. Эта команда позволяет получить значения определенных параметров конфигурации, давая вам представление о том, как настроен ваш экземпляр (instance) Redis.

Сначала давайте подключимся к Redis-серверу с помощью команды redis-cli в вашем терминале:

redis-cli

Это откроет интерфейс командной строки Redis (Redis command-line interface). Вы должны увидеть приглашение (prompt) вроде 127.0.0.1:6379>.

Теперь давайте используем команду CONFIG GET для получения значения параметра maxmemory, который контролирует максимальный объем памяти, который будет использовать Redis. Введите следующую команду:

CONFIG GET maxmemory

Вы должны увидеть вывод, похожий на этот:

1) "maxmemory"
2) "0"

Вывод показывает имя параметра (maxmemory) и его текущее значение (0). Значение 0 обычно означает, что нет ограничений на объем памяти, который может использовать Redis (с учетом системных ограничений).

Далее давайте получим значение параметра logfile, который указывает файл, в который Redis записывает свою активность:

CONFIG GET logfile

Вывод может выглядеть так:

1) "logfile"
2) "/var/log/redis/redis-server.log"

"/var/log/redis/redis-server.log" указывает на то, что Redis теперь записывает в файл.
Наконец, выйдите из redis-cli, набрав:

exit

Выход из redis-cli важен для того, чтобы убедиться, что выполненные вами команды правильно зарегистрированы (logged).

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

В этом шаге мы узнаем, как изменить конфигурацию Redis-сервера с помощью команды CONFIG SET. Эта команда позволяет динамически изменять значения различных параметров конфигурации.

Важное замечание: Изменения, внесенные с помощью CONFIG SET, являются временными и будут потеряны при перезапуске Redis-сервера. Чтобы внести постоянные изменения, необходимо изменить файл конфигурации Redis (redis.conf).

Сначала подключитесь к Redis-серверу с помощью redis-cli:

redis-cli

Теперь давайте установим параметр maxmemory в 100mb. Это ограничит объем памяти, который Redis может использовать, до 100 мегабайт. Введите следующую команду:

CONFIG SET maxmemory 100mb

Вы должны увидеть следующий вывод:

OK

Это указывает на то, что команда выполнена успешно.

Давайте также установим параметр loglevel в debug. Это увеличит детализацию (verbosity) логирования Redis, предоставляя более подробную информацию о его операциях:

CONFIG SET loglevel debug

Вы должны увидеть следующий вывод:

OK

Наконец, выйдите из redis-cli, набрав:

exit

Сохранение данных на диск

В этом шаге мы узнаем, как вручную сохранить базу данных Redis на диск с помощью команды SAVE.

Redis предлагает различные варианты персистентности (persistence options), чтобы обеспечить сохранность данных (data durability). Команда SAVE — это простой способ создать снимок (snapshot) текущего состояния базы данных и сохранить его на диск.

Сначала подключитесь к Redis-серверу с помощью redis-cli:

redis-cli

Теперь давайте добавим некоторые данные в Redis. Мы установим простую пару ключ-значение (key-value pair):

SET mykey "Hello Redis!"

Вы должны увидеть следующий вывод:

OK

Теперь, когда у нас есть некоторые данные в Redis, давайте используем команду SAVE, чтобы сохранить базу данных на диск:

SAVE

Команда SAVE заблокирует Redis-сервер, что означает, что он не сможет обрабатывать какие-либо другие запросы до завершения операции сохранения.

Вы должны увидеть вывод, похожий на этот:

OK

Наконец, выйдите из redis-cli, набрав:

exit

Фоновое сохранение (Background Saving)

В этом шаге мы изучим команду BGSAVE, которая позволяет Redis сохранять базу данных на диск в фоновом режиме, не блокируя сервер.

Как мы узнали на предыдущем шаге, команда SAVE блокирует Redis-сервер. Команда BGSAVE решает эту проблему, создавая дочерний процесс (forking a child process) для выполнения операции сохранения в фоновом режиме.

Сначала подключитесь к Redis-серверу с помощью redis-cli:

redis-cli

Давайте добавим еще немного данных в Redis:

SET anotherkey "Background Saving Example"

Вы должны увидеть следующий вывод:

OK

Теперь давайте используем команду BGSAVE, чтобы сохранить базу данных на диск в фоновом режиме:

BGSAVE

Вы должны увидеть вывод, похожий на этот:

Background saving started

Это указывает на то, что команда BGSAVE была инициирована.

Наконец, выйдите из redis-cli, набрав:

exit

Итог

В этой лабораторной работе вы узнали, как управлять конфигурацией и персистентностью (persistence) Redis. Вы использовали команду CONFIG GET для просмотра конфигурации Redis-сервера и команду CONFIG SET для изменения параметров. Вы также узнали, как сохранять данные на диск с помощью команд SAVE и BGSAVE. Это дает полное понимание персистентности данных в Redis.