Struchkov Mark
7d78047f43
All checks were successful
continuous-integration/drone/push Build is passing
45 lines
4.4 KiB
Markdown
45 lines
4.4 KiB
Markdown
---
|
||
aliases:
|
||
- AOF
|
||
- appendonly
|
||
tags:
|
||
- maturity/🌱
|
||
date: 2024-10-07
|
||
zero-link:
|
||
parents:
|
||
linked:
|
||
---
|
||
Включение режима appendonly позволяет Redis обеспечивать долговременное хранение данных, записывая каждую операцию изменения в файл в хронологическом порядке. Вот основные моменты, которые стоит знать.
|
||
|
||
![[../../../meta/files/images/Pasted image 20241103222301.png]]
|
||
|
||
**Как работает AOF:**
|
||
- **Лог изменений**: Когда appendonly включен, Redis записывает каждую команду, изменяющую состояние базы данных (например, SET, DEL, LPUSH), в файл AOF, а не только хранит данные в памяти.
|
||
- **Постоянное сохранение данных**: Эти команды добавляются в конец файла (append), что позволяет восстанавливать состояние базы данных, выполняя все записанные команды по порядку, если Redis перезапускается.
|
||
- **Конфигурация сохранения**: В файле конфигурации Redis (redis.conf) можно указать несколько режимов, как часто Redis должен сбрасывать данные в файл:
|
||
- appendfsync always — данные сбрасываются на диск после каждой команды (максимальная надежность, но высокая нагрузка на диск).
|
||
- appendfsync everysec — данные сбрасываются раз в секунду (оптимальный компромисс между производительностью и надежностью).
|
||
- appendfsync no — система операционной системы сама решает, когда записывать данные на диск (максимальная производительность, но может привести к потере данных при сбое).
|
||
|
||
**Преимущества AOF:**
|
||
- **Надежность**: AOF предлагает более надежное сохранение данных, чем механизм RDB (Redis Database Backup), который делает дампы данных на определенные промежутки времени.
|
||
- **Гибкость восстановления**: В случае сбоя Redis можно восстановить состояние базы данных, воспроизведя команды из AOF, что минимизирует потерю данных.
|
||
- **Читаемость файла**: AOF-файл — это текстовый файл, который легко можно прочитать и проанализировать для восстановления операций вручную, если потребуется.
|
||
|
||
**Потенциальные недостатки:**
|
||
- **Рост размера файла**: Со временем файл AOF может значительно вырасти, так как в нем сохраняются все операции. Чтобы решить эту проблему, Redis периодически выполняет операцию “переписывания” AOF-файла — это процесс, при котором он сжимает файл, удаляя избыточные команды и сохраняя только текущую версию данных.
|
||
- **Производительность**: В зависимости от настроек, частота записи в AOF может влиять на производительность системы (особенно при использовании режима appendfsync always).
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../../meta/zero/00 Redis|00 Redis]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Создана**:: [[2024-10-07]]
|
||
**Автор**::
|
||
### Дополнительные материалы
|
||
- [[Redis Database Backup]]
|
||
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|