Redis
 sql >> Database >  >> NoSQL >> Redis

Backup AOF e RDB in redis

Questo significa che in pratica ricevo backup ogni 60 secondi?

NO . Redis esegue un salvataggio in background dopo 60 secondi, se sono state modificate almeno 10000 chiavi . In caso contrario, non esegue il salvataggio in background.

L'uso di appendonly on e appendfsync everysec causerà un downgrade delle prestazioni? Toccherà la CPU? Il carico di scrittura è alto.

Dipende da molte cose, ad es. prestazioni del disco (SSD VS HDD), carico di scrittura/lettura (QPS), modello di dati e così via. Devi fare un benchmark con i tuoi dati nel tuo ambiente specifico.

Una volta riavviato il server Redis con queste nuove impostazioni, perderò comunque gli ultimi 60 secondi dei miei dati, giusto?

NO . Se attivi sia AOF che RDB, al riavvio di Redis, il file AOF verrà utilizzato per ricostruire il database. Dal momento che lo configuri su appendfsync everysec , perderai solo l'ultimo 1 secondo di dati.

I tempi di riavvio sono qualcosa di cui preoccuparsi? Il mio file dump.rdb è piccolo; ~90 MB.

Se si attiva AOF e quando Redis si riavvia, riproduce i log nel file AOF per ricostruire il database. Normalmente il file AOF è più grande del file RDB e potrebbe essere più lento del ripristino dal file RDB. Dovresti preoccuparti di questo? Fai un benchmark con i tuoi dati nel tuo ambiente specifico.

MODIFICA

AVVISO IMPORTANTE

Si supponga di aver già impostato Redis per utilizzare il salvataggio RDB e di scrivere molti dati su Redis. Dopo un po', vuoi attivare il salvataggio AOF. NON MODIFICARE MAI IL FILE DI CONFIG PER ACCENDERE AOF E RIAVVIARE REDIS, ALTRIMENTI PERDERETE TUTTO .

Perché, una volta impostato appendonly yes in redis.conf e riavviare Redis, caricherà i dati dal file AOF, indipendentemente dal fatto che il file esista o meno. Se il file non esiste, crea un file vuoto e tenta di caricare i dati da quel file vuoto. Quindi perderai tutto.

In effetti, non è necessario riavviare Redis per attivare AOF. Invece, puoi usare config set comando per attivarlo dinamicamente:config set appendonly yes .