Els Fitxers Només de Afegeix (AOF) són una de les dues maneres principals que Redis utilitza per persistir les dades a disc. AOF proporciona una manera més segura i flexible de garantir que les dades no es perdin en cas de fallada del sistema.

Què és AOF?

AOF és un mètode de persistència que registra cada operació d'escriptura que es realitza en la base de dades. Aquestes operacions s'emmagatzemen en un fitxer de registre que es pot reproduir per reconstruir l'estat de la base de dades en cas de reinici.

Avantatges de l'AOF

  • Durabilitat: AOF pot ser configurat per sincronitzar les dades amb el disc després de cada operació, minimitzant la pèrdua de dades.
  • Reproducció: El fitxer AOF pot ser reproduït per reconstruir l'estat de la base de dades.
  • Compactació: Redis pot reescriure el fitxer AOF per compactar-lo i reduir la seva mida.

Desavantatges de l'AOF

  • Rendiment: Pot ser més lent que RDB (instantànies) perquè cada operació d'escriptura ha de ser registrada.
  • Mida del fitxer: El fitxer AOF pot créixer ràpidament, especialment en bases de dades amb moltes operacions d'escriptura.

Configuració de l'AOF

Per activar l'AOF, cal modificar el fitxer de configuració de Redis (redis.conf). Aquí tens els passos bàsics:

  1. Activar l'AOF:

    appendonly yes
    
  2. Configurar la freqüència de sincronització:

    # Sincronitza cada segon (compromís entre rendiment i durabilitat)
    appendfsync everysec
    
    # Sincronitza després de cada operació d'escriptura (màxima durabilitat, menor rendiment)
    appendfsync always
    
    # No sincronitza automàticament (delega la sincronització al sistema operatiu)
    appendfsync no
    
  3. Reescriptura automàtica de l'AOF:

    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    

Exemple Pràctic

Activar l'AOF

  1. Obre el fitxer de configuració de Redis (redis.conf).
  2. Cerca la línia appendonly no i canvia-la a appendonly yes.
  3. Configura la freqüència de sincronització segons les teves necessitats. Per exemple:
    appendfsync everysec
    

Reescriptura de l'AOF

Redis pot reescriure l'AOF per compactar-lo i millorar el rendiment. Això es fa automàticament quan el fitxer AOF creix més del doble de la mida de l'última reescriptura i és més gran que 64MB (configurable).

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

Comandes Relacionades amb l'AOF

  • BGREWRITEAOF: Inicia una reescriptura de l'AOF en segon pla.

    BGRWRITEAOF
    
  • AOFSYNC: Sincronitza manualment l'AOF amb el disc.

    AOFSYNC
    

Exercici Pràctic

Exercici 1: Activar i Configurar l'AOF

  1. Activa l'AOF en el fitxer de configuració de Redis (redis.conf).
  2. Configura la sincronització perquè es realitzi cada segon.
  3. Reinicia el servidor Redis per aplicar els canvis.

Solució

  1. Obre redis.conf i modifica les següents línies:

    appendonly yes
    appendfsync everysec
    
  2. Reinicia el servidor Redis:

    redis-server /path/to/redis.conf
    

Exercici 2: Reescriptura Manual de l'AOF

  1. Inicia una reescriptura de l'AOF en segon pla utilitzant la comanda BGREWRITEAOF.
  2. Verifica que la reescriptura s'ha completat correctament.

Solució

  1. Executa la comanda BGREWRITEAOF en la CLI de Redis:

    BGREWRITEAOF
    
  2. Verifica l'estat de la reescriptura:

    INFO persistence
    

Conclusió

Els Fitxers Només de Afegeix (AOF) són una eina poderosa per garantir la durabilitat de les dades en Redis. Tot i que poden tenir un impacte en el rendiment, ofereixen una major seguretat en termes de pèrdua de dades. La configuració adequada de l'AOF permet trobar un equilibri entre rendiment i durabilitat, adaptant-se a les necessitats específiques de cada aplicació.

© Copyright 2024. Tots els drets reservats