Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Збереження AOF | Розширені Можливості та Безпека
Вступ до Redis

bookЗбереження AOF

Ілюстрація показує, як Redis працює з використанням AOF. Клієнтська команда спочатку виконується у пам'яті для швидкого доступу до даних, а потім команда записується у файл на диску для забезпечення надійного відновлення даних у разі збою.

Як працює AOF

Коли режим AOF увімкнено, кожна команда запису надіслана на сервер зберігається у файлі. Після перезапуску Redis команди з AOF-файлу зчитуються та використовуються для відновлення набору даних.

З часом цей файл може значно збільшуватися у розмірі, оскільки містить всю історію змін ключів. Щоб вирішити цю проблему, Redis періодично переписує файл, видаляючи непотрібні команди та залишаючи лише поточний стан кожного ключа. Наприклад, якщо використовується ключ з назвою total і його значення змінюється кілька разів, початковий AOF-файл може виглядати так:

set total 5
set total 20
set total 45
set total 100

Після перезапису Redis зберігає лише останнє значення для ключа:

set total 100

Коли Redis додає нову команду до AOF-файлу, операційна система спочатку зберігає її у буфері перед записом на диск через певні інтервали. Якщо відбудеться відключення електроенергії, дані, що залишилися у буфері, можуть бути втрачені. Щоб зменшити цей ризик, Redis за замовчуванням скидає буфер кожну секунду. Ви можете налаштувати запис даних на диск одразу після кожної команди, але це суттєво сповільнює операції.

Як увімкнути AOF

Щоб увімкнути AOF, змініть файл redis.conf, додавши такі налаштування:

appendonly yes                  # enable AOF mode
appendfilename "appendonly.aof" # specify the log file name

Під час налаштування AOF у Redis можна обрати, як часто дані будуть синхронізуватися на диск. Це впливає на продуктивність системи та надійність:

  • appendfsync alwaysсинхронізація після кожної операції (повільніше, але найвища надійність);
  • appendfsync everysecсинхронізація раз на секунду (оптимальний баланс між продуктивністю та стійкістю);
  • appendfsync noдані залишаються в пам'яті до скидання системою (швидко, але ризиковано).

Різниця між AOF та RDB

Налаштування комбінованої персистентності

Можна увімкнути одночасно як RDB, так і AOF, щоб поєднати їхні переваги. Такий підхід забезпечує надійне резервне копіювання (RDB) та мінімізує втрату даних (AOF).

save 300 10       # RDB: save every 5 minutes if there are 10 changes
appendonly yes     # enable AOF
appendfsync everysec  # sync to disk every second

Підсумок

Збереження даних у Redis забезпечує баланс між продуктивністю та надійністю даних, дозволяючи обрати підхід, який найкраще відповідає вашим потребам. Якщо вашою пріоритетністю є висока продуктивність, RDB — це оптимальний вибір. З іншого боку, якщо мінімізація втрати даних є критичною, AOF є більш доречним. Для тих, кому потрібна максимальна надійність, використання обох методів разом забезпечує найкращий результат.

1. Який метод збереження даних у Redis мінімізує втрату даних?

2. Коли слід використовувати обидва методи збереження RDB та AOF у Redis?

question mark

Який метод збереження даних у Redis мінімізує втрату даних?

Select the correct answer

question mark

Коли слід використовувати обидва методи збереження RDB та AOF у Redis?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 6

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

What are the main differences between AOF and RDB in Redis?

How do I configure Redis to use both AOF and RDB for persistence?

Can you explain the pros and cons of each persistence method in more detail?

Awesome!

Completion rate improved to 3.33

bookЗбереження AOF

Свайпніть щоб показати меню

Ілюстрація показує, як Redis працює з використанням AOF. Клієнтська команда спочатку виконується у пам'яті для швидкого доступу до даних, а потім команда записується у файл на диску для забезпечення надійного відновлення даних у разі збою.

Як працює AOF

Коли режим AOF увімкнено, кожна команда запису надіслана на сервер зберігається у файлі. Після перезапуску Redis команди з AOF-файлу зчитуються та використовуються для відновлення набору даних.

З часом цей файл може значно збільшуватися у розмірі, оскільки містить всю історію змін ключів. Щоб вирішити цю проблему, Redis періодично переписує файл, видаляючи непотрібні команди та залишаючи лише поточний стан кожного ключа. Наприклад, якщо використовується ключ з назвою total і його значення змінюється кілька разів, початковий AOF-файл може виглядати так:

set total 5
set total 20
set total 45
set total 100

Після перезапису Redis зберігає лише останнє значення для ключа:

set total 100

Коли Redis додає нову команду до AOF-файлу, операційна система спочатку зберігає її у буфері перед записом на диск через певні інтервали. Якщо відбудеться відключення електроенергії, дані, що залишилися у буфері, можуть бути втрачені. Щоб зменшити цей ризик, Redis за замовчуванням скидає буфер кожну секунду. Ви можете налаштувати запис даних на диск одразу після кожної команди, але це суттєво сповільнює операції.

Як увімкнути AOF

Щоб увімкнути AOF, змініть файл redis.conf, додавши такі налаштування:

appendonly yes                  # enable AOF mode
appendfilename "appendonly.aof" # specify the log file name

Під час налаштування AOF у Redis можна обрати, як часто дані будуть синхронізуватися на диск. Це впливає на продуктивність системи та надійність:

  • appendfsync alwaysсинхронізація після кожної операції (повільніше, але найвища надійність);
  • appendfsync everysecсинхронізація раз на секунду (оптимальний баланс між продуктивністю та стійкістю);
  • appendfsync noдані залишаються в пам'яті до скидання системою (швидко, але ризиковано).

Різниця між AOF та RDB

Налаштування комбінованої персистентності

Можна увімкнути одночасно як RDB, так і AOF, щоб поєднати їхні переваги. Такий підхід забезпечує надійне резервне копіювання (RDB) та мінімізує втрату даних (AOF).

save 300 10       # RDB: save every 5 minutes if there are 10 changes
appendonly yes     # enable AOF
appendfsync everysec  # sync to disk every second

Підсумок

Збереження даних у Redis забезпечує баланс між продуктивністю та надійністю даних, дозволяючи обрати підхід, який найкраще відповідає вашим потребам. Якщо вашою пріоритетністю є висока продуктивність, RDB — це оптимальний вибір. З іншого боку, якщо мінімізація втрати даних є критичною, AOF є більш доречним. Для тих, кому потрібна максимальна надійність, використання обох методів разом забезпечує найкращий результат.

1. Який метод збереження даних у Redis мінімізує втрату даних?

2. Коли слід використовувати обидва методи збереження RDB та AOF у Redis?

question mark

Який метод збереження даних у Redis мінімізує втрату даних?

Select the correct answer

question mark

Коли слід використовувати обидва методи збереження RDB та AOF у Redis?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 6
some-alt