Настройка персистентности RDB
На этом этапе мы настроим персистентность Redis Database (RDB). RDB создает моментальные снимки вашего набора данных в указанные интервалы времени. Мы будем использовать команду CONFIG SET для динамического изменения конфигурации сервера Redis без его перезапуска.
Сначала подключитесь к серверу Redis, используя интерфейс командной строки Redis (redis-cli). Откройте терминал и выполните следующую команду:
redis-cli
Вы увидите приглашение redis-cli, которое выглядит как 127.0.0.1:6379>.
Давайте проверим текущую конфигурацию сохранения RDB с помощью команды CONFIG GET.
CONFIG GET save
Вывод по умолчанию показывает несколько точек сохранения:
1) "save"
2) "900 1 300 10 60 10000"
Это означает, что Redis сохранит базу данных, если изменится как минимум 1 ключ за 900 секунд, ИЛИ изменится как минимум 10 ключей за 300 секунд, ИЛИ изменится как минимум 10000 ключей за 60 секунд.
Теперь давайте изменим это на одну точку сохранения: сохранять базу данных, если изменится как минимум 1 ключ за 60 секунд.
CONFIG SET save "60 1"
В качестве вывода вы должны увидеть OK, подтверждающее изменение.
OK
Проверьте, что конфигурация была обновлена:
CONFIG GET save
Вывод теперь должен отражать нашу новую настройку:
1) "save"
2) "60 1"
Далее мы настроим каталог, в котором Redis будет хранить свой файл RDB (dump.rdb). Сначала выйдите из redis-cli, чтобы выполнить некоторые команды оболочки.
exit
Теперь создайте новый каталог и установите правильные разрешения. Сервер Redis работает от имени пользователя redis, поэтому ему требуется владение каталогом для записи файлов.
sudo mkdir -p /var/lib/redis/labex_data
sudo chown redis:redis /var/lib/redis/labex_data
Снова подключитесь к Redis и установите конфигурацию dir на новый путь.
redis-cli
CONFIG SET dir /var/lib/redis/labex_data
Вы должны увидеть OK. Проверьте изменение:
CONFIG GET dir
Вывод подтвердит новый каталог:
1) "dir"
2) "/var/lib/redis/labex_data"
Теперь Redis будет сохранять свои файлы персистентности в каталог /var/lib/redis/labex_data.
Чтобы убедиться, что ваш прогресс сохранен и проверен правильно, пожалуйста, выйдите из сеанса redis-cli.
exit