En aquest tema, aprendrem com configurar la persistència en Redis per assegurar-nos que les dades es mantinguin segures i disponibles fins i tot després d'un reinici del servidor. Redis ofereix dues maneres principals de persistència: Instantànies (RDB) i Fitxers Només de Afegeix (AOF). També veurem com combinar aquestes dues opcions per obtenir el millor de cada una.

  1. Instantànies (RDB)

Què és RDB?

RDB (Redis Database Backup) és un mètode de persistència que crea instantànies de la base de dades en intervals de temps específics. Aquestes instantànies es guarden en un fitxer binari que es pot utilitzar per restaurar l'estat de la base de dades.

Configuració de RDB

La configuració de RDB es fa principalment al fitxer redis.conf. Aquí tens les opcions més importants:

  • save: Defineix quan Redis ha de crear una instantània. Per exemple:

    save 900 1  # Cada 900 segons (15 minuts) si hi ha hagut almenys 1 escriptura
    save 300 10 # Cada 300 segons (5 minuts) si hi ha hagut almenys 10 escriptures
    save 60 10000 # Cada 60 segons (1 minut) si hi ha hagut almenys 10000 escriptures
    
  • dbfilename: Nom del fitxer on es guardarà la instantània.

    dbfilename dump.rdb
    
  • dir: Directori on es guardarà el fitxer de la instantània.

    dir /var/lib/redis
    

Exemple de Configuració RDB

save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis

  1. Fitxers Només de Afegeix (AOF)

Què és AOF?

AOF (Append Only File) és un mètode de persistència que registra cada operació d'escriptura que es fa a la base de dades. Aquestes operacions es guarden en un fitxer de registre que es pot reproduir per restaurar l'estat de la base de dades.

Configuració de AOF

La configuració de AOF també es fa al fitxer redis.conf. Aquí tens les opcions més importants:

  • appendonly: Habilita o deshabilita AOF.

    appendonly yes
    
  • appendfilename: Nom del fitxer on es guardarà el registre AOF.

    appendfilename "appendonly.aof"
    
  • appendfsync: Defineix quan Redis ha de sincronitzar el fitxer AOF amb el disc. Les opcions són:

    • always: Sincronitza després de cada escriptura (més segur però més lent).
    • everysec: Sincronitza cada segon (compromís entre seguretat i rendiment).
    • no: Deixa que el sistema operatiu decideixi quan sincronitzar (més ràpid però menys segur).
    appendfsync everysec
    

Exemple de Configuració AOF

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec

  1. Combinació de RDB i AOF

Per què combinar RDB i AOF?

Combinar RDB i AOF permet obtenir el millor de cada mètode: la rapidesa de les instantànies RDB i la seguretat de les escriptures AOF.

Configuració Recomanada

Per combinar RDB i AOF, simplement habilita ambdós mètodes al fitxer redis.conf:

# Configuració RDB
save 900 1
save 300 10
save 60 10000
dbfilename dump.rdb
dir /var/lib/redis

# Configuració AOF
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec

  1. Exercicis Pràctics

Exercici 1: Configurar RDB

  1. Obre el fitxer redis.conf.
  2. Configura Redis per crear una instantània cada 5 minuts si hi ha hagut almenys 5 escriptures.
  3. Guarda i reinicia el servidor Redis.

Solució Exercici 1

save 300 5
dbfilename dump.rdb
dir /var/lib/redis

Exercici 2: Configurar AOF

  1. Obre el fitxer redis.conf.
  2. Habilita AOF i configura'l per sincronitzar cada segon.
  3. Guarda i reinicia el servidor Redis.

Solució Exercici 2

appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec

Conclusió

En aquesta secció, hem après com configurar la persistència en Redis utilitzant RDB i AOF. Hem vist com cada mètode té els seus avantatges i desavantatges, i com podem combinar-los per obtenir una solució robusta i eficient. A la següent secció, explorarem com fer còpies de seguretat i restaurar les dades en Redis.

© Copyright 2024. Tots els drets reservats