Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se si verifica un errore della cache Redis di Azure, la perdita di dati è possibile quando i nodi sono inattivo. La persistenza di Redis consente di rendere persistenti i dati archiviati nelle istanze della cache. In caso di errore hardware, l'istanza della cache si ricarica con i dati dal file di persistenza quando torna online.
Questo articolo descrive la persistenza di Redis e come configurare e gestire la persistenza dei dati nelle istanze della cache Redis di Azure Premium ed Enterprise. La funzionalità di persistenza dei dati non è disponibile nei livelli Basic o Standard ed è disponibile in anteprima nei livelli Enterprise ed Enterprise Flash.
La possibilità di rendere persistenti i dati è un modo importante per aumentare la durabilità di un'istanza della cache, perché archivia tutti i dati della cache in memoria. La persistenza deve essere una parte fondamentale della strategia di disponibilità elevata e ripristino di emergenza di Azure Redis.
Importante
La funzionalità di persistenza dei dati offre resilienza per errori imprevisti del nodo Redis. La persistenza dei dati non è una funzionalità di backup dei dati o temporizzato di ripristino temporizzato. Se i dati danneggiati vengono scritti nell'istanza di Redis, anche i dati danneggiati vengono salvati in modo permanente. Per eseguire backup dell'istanza di Redis, usare la funzionalità Esporta .
Ambito della disponibilità
Livello | Basic e Standard | Di alta qualità | Enterprise, Enterprise Flash |
---|---|---|---|
Disponibile | NO | Sì | Sì (anteprima) |
Tipi di persistenza dei dati Redis
Azure Redis offre due tipi di persistenza dei dati, il formato del database Redis (RDB) e il formato AOF (Append-only File ).
La persistenza RDB mantiene uno snapshot della cache in un formato binario e lo salva in un account di archiviazione di Azure. Configurare la frequenza di backup per determinare la frequenza con cui rendere persistente lo snapshot. Se si verifica un evento irreversibile che disabilita sia la cache primaria che quella di replica, la cache ricostruisce automaticamente usando lo snapshot più recente. Per altre informazioni, vedere Vantaggi di RDB e svantaggi di RDB.
La persistenza AOF salva ogni operazione di scrittura in un log e salva il log una volta al secondo in un account di archiviazione di Azure. Se si verifica un evento irreversibile che disabilita sia le cache primaria che quella di replica, la cache ricostruisce automaticamente usando le operazioni di scrittura archiviate. Per altre informazioni, vedere Vantaggi AOF e svantaggi AOF.
Requisiti e limitazioni
La funzionalità di persistenza dei dati offre resilienza per gli errori imprevisti dei nodi Redis. La persistenza dei dati non è una funzionalità di backup dei dati o di ripristino temporizzato (PITR). Se i dati danneggiati vengono scritti nell'istanza di Redis, vengono mantenuti anche i dati danneggiati. Per eseguire il backup dell'istanza di Redis, usare la funzionalità Esporta .
Le funzionalità di persistenza di Cache Redis di Azure sono destinate a ripristinare automaticamente i dati nella stessa cache dopo la perdita di dati. Non è possibile importare file di dati persistenti in una cache nuova o esistente.
Per spostare i dati tra le cache, usare le funzionalità Importa ed Esporta dati .
Per generare tutti i backup dei dati che possono essere aggiunti a una nuova cache, è possibile usare script automatizzati usando PowerShell o l'interfaccia della riga di comando di Azure che esportano periodicamente i dati.
La persistenza non è supportata con le cache che usano la replica geografica passiva o la replica geografica attiva.
Crittografia dei dati
Poiché la persistenza di Redis crea dati inattivi, è importante crittografare questi dati. Le opzioni di crittografia variano in base al livello Redis di Azure usato.
Configurare la persistenza dei dati
È possibile usare il portale di Azure, i modelli di Azure Resource Manager (ARM), PowerShell o l'interfaccia della riga di comando di Azure per creare e configurare la persistenza dei dati per cache Di Azure Redis di livello Premium o Enterprise.
Prerequisiti
- Per creare e aggiungere la persistenza alle cache Redis di Azure, sono necessari l'accesso in scrittura e le autorizzazioni per creare cache Premium o Enterprise in una sottoscrizione di Azure.
- Per le cache di livello Premium, è necessario un account di archiviazione di Azure nella stessa area della cache per archiviare i dati della cache. Se si usa l'identità gestita come metodo di autenticazione, è possibile usare un account di archiviazione in una sottoscrizione diversa rispetto alla cache.
- Per le procedure di Azure PowerShell, è necessario installare Azure PowerShell o usare Azure Cloud Shell con l'ambiente PowerShell nel portale di Azure.
- Per le procedure dell'interfaccia della riga di comando di Azure, è necessario installare l'interfaccia della riga di comando di Azure o usare Azure Cloud Shell con l'ambiente Bash nel portale di Azure.
Configurare la persistenza dei dati nel portale di Azure
Nel portale di Azure è possibile configurare la persistenza dei dati quando si crea l'istanza di cache di Azure Redis Premium o Enterprise.
Configurare la persistenza dei dati con Azure PowerShell
È possibile usare Azure PowerShell per configurare la persistenza dei dati quando si crea una cache di livello Azure Redis Premium o Enterprise oppure per aggiungere la persistenza a una cache creata in precedenza.
Configurare la persistenza dei dati usando l'interfaccia della riga di comando di Azure
È possibile usare l'interfaccia della riga di comando di Azure per configurare la persistenza dei dati quando si crea una cache Di Azure Redis Premium o enterprise oppure per aggiungere la persistenza a una cache creata in precedenza.
Domande frequenti sulla persistenza
Questa sezione contiene le risposte alle domande frequenti sulla persistenza della cache Redis di Azure.
- È possibile abilitare la persistenza in una cache esistente?
- È possibile abilitare la persistenza di AOF e RDB?
- La persistenza funziona con la replica geografica?
- Quale modello di persistenza è necessario scegliere?
- Cosa accade se si ridimensiona a una dimensione diversa e si esegue un backup prima del ripristino dell'operazione di ridimensionamento?
- È possibile usare lo stesso account di archiviazione per la persistenza in due cache diverse?
- Vengono addebitati addebiti per l'uso della persistenza dei dati di archiviazione?
- Con quale frequenza la persistenza RDB e AOF scrive nella risorsa di archiviazione? È necessario abilitare l'eliminazione temporanea?
- Le eccezioni del firewall nell'account di archiviazione influiscono sulla persistenza?
- Come è possibile verificare se l'eliminazione temporanea è abilitata nell'account di archiviazione?
- È possibile usare un account di archiviazione in una sottoscrizione diversa da quella in cui si trova la cache?
Persistenza RDB
- È possibile modificare la frequenza di backup di RDB dopo aver creato la cache?
- Perché sono presenti più di 60 minuti tra i backup quando si ha una frequenza di backup RDB di 60 minuti?
- Cosa accade ai vecchi backup RDB quando viene eseguito un nuovo backup?
Persistenza AOF
- Quando è consigliabile usare un secondo account di archiviazione?
- La persistenza AOF influisce sulla velocità effettiva, la latenza o sulle prestazioni della cache?
- Come è possibile rimuovere il secondo account di archiviazione?
- Che cos'è una riscrittura e come influisce sulla cache?
- Cosa ci si aspetta quando si ridimensiona una cache con AOF abilitato?
- Come sono organizzati i dati AOF nell'archiviazione?
- È possibile abilitare la persistenza AOF se si dispone di più repliche?
È possibile abilitare la persistenza per una cache creata in precedenza?
Sì, è possibile configurare la persistenza durante la creazione della cache e nelle cache Premium, Enterprise o Enterprise Flash esistenti.
È possibile abilitare la persistenza AOF e RDB allo stesso tempo?
No, è possibile abilitare RDB o AOF, ma non entrambi contemporaneamente.
Come funziona la persistenza con la replica geografica?
La persistenza dei dati non funziona con la replica geografica abilitata.
Quale modello di persistenza è consigliabile scegliere?
La persistenza AOF scrive in un log una volta al secondo, mentre la persistenza RDB salva i backup in base all'intervallo di backup configurato. La persistenza RDB ha un effetto minore sulla velocità effettiva e sulle prestazioni rispetto alla persistenza AOF.
Scegliere Persistenza AOF se l'obiettivo principale è ridurre al minimo la perdita di dati ed è possibile gestire una velocità effettiva inferiore per la cache. Scegliere Persistenza RDB se si vuole mantenere una velocità effettiva ottimale nella cache, ma si vuole comunque un meccanismo per il ripristino dei dati.
Per altre informazioni, vedere Vantaggi RDB, svantaggi RDB, vantaggi AOF e svantaggi AOF.
La persistenza AOF influisce sulla velocità effettiva, sulla latenza o sulle prestazioni della cache?
La persistenza AOF influisce sulla velocità effettiva. Poiché AOF viene eseguito sia nel processo primario che in quello di replica, viene visualizzato un carico di CPU e server superiore per una cache con persistenza AOF rispetto a una cache identica senza persistenza AOF. La persistenza AOF offre la migliore coerenza con i dati in memoria perché ogni scrittura ed eliminazione viene mantenuta solo con un ritardo di pochi secondi. Il compromesso è che AOF è più a elevato utilizzo di calcolo.
Purché il carico della CPU e del server sia inferiore a 90%, si verifica una riduzione della velocità effettiva, ma la cache funziona normalmente. Al di sopra del 90% della CPU e del carico del server, la riduzione della velocità effettiva può aumentare e la latenza di tutti i comandi elaborati dalla cache aumenta. La latenza aumenta perché la persistenza AOF viene eseguita sia nel processo primario che in quello di replica, aumentando il carico sul nodo in uso e inserendo la persistenza nel percorso critico dei dati.
Cosa accade se si ridimensiona a una dimensione diversa e viene ripristinato un backup eseguito prima dell'operazione di ridimensionamento?
- Se è stata applicata una dimensione maggiore, non c'è alcun effetto.
- Se le dimensioni sono state ridotte e si dispone di un'impostazione di database personalizzata maggiore del limite di database per le nuove dimensioni, i dati in tali database non vengono ripristinati. Per ulteriori informazioni, consultare Le impostazioni dei database personalizzati vengono influenzate dal ridimensionamento?
- Se è stata eseguita una riduzione delle dimensioni e non è disponibile spazio sufficiente per contenere tutti i dati dell'ultimo backup, le chiavi vengono rimosse durante il processo di ripristino. In genere, le chiavi vengono rimosse usando il criterio di rimozione allkeys-lru.
È possibile usare lo stesso account di archiviazione per la persistenza in due cache diverse?
No, è necessario usare account di archiviazione diversi. Ogni cache deve avere il proprio account di archiviazione per la persistenza.
Importante
Usare anche account di archiviazione separati per la persistenza ed eseguire operazioni di esportazione periodiche in una cache.
Mi vengono addebitati i costi per l'archiviazione usata nella persistenza dei dati?
- Per le cache Premium, vengono addebitati i costi per l'archiviazione usata in base al modello tariffario dell'account di archiviazione.
- Per le cache Enterprise ed Enterprise Flash, l'archiviazione su disco gestito è inclusa nel prezzo e non comporta costi aggiuntivi.
Con quale frequenza le persistenze RDB e AOF scrivono nei BLOB? È necessario abilitare l'eliminazione temporanea?
La persistenza RDB e AOF può scrivere nei BLOB di archiviazione con una frequenza di ogni ora, qualche minuto o ogni secondo. L'eliminazione temporanea diventa rapidamente costosa con le dimensioni tipiche dei dati di una cache che esegue anche operazioni di scrittura ogni secondo. L'abilitazione dell'eliminazione temporanea in un account di archiviazione significa anche che Azure Redis non può ridurre al minimo i costi di archiviazione eliminando i dati di backup precedenti.
È consigliabile evitare di abilitare l'eliminazione temporanea sugli account di archiviazione usati per la persistenza dei dati di livello Premium di Azure Redis. Per altre informazioni sui costi di eliminazione temporanea, vedere Prezzi e fatturazione.
È possibile modificare la frequenza di backup RDB dopo avere creato la cache?
Sì, è possibile modificare la frequenza di backup per la persistenza RDB usando il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.
Perché trascorrono più di 60 minuti tra i backup se è stata impostata una frequenza di backup RDB di 60 minuti?
L'intervallo di frequenza di backup di persistenza RDB non viene avviato fino al completamento del processo di backup precedente. Se la frequenza di backup è di 60 minuti e il completamento del processo di backup richiede 15 minuti, il backup successivo non viene avviato fino a 75 minuti dopo l'ora di inizio del backup precedente.
Cosa accade ai backup RDB precedenti quando viene eseguito un nuovo backup?
A eccezione di quello più recente, tutti i backup della persistenza RDB vengono eliminati automaticamente. L'eliminazione potrebbe non avvenire immediatamente, ma i backup meno recenti non vengono mantenuti per un tempo illimitato. Se si usa il livello Premium per la persistenza e l'eliminazione temporanea è attivata per l'account di archiviazione, i backup esistenti continuano a risiedere nello stato di eliminazione temporanea.
Quando è consigliabile usare un secondo account di archiviazione?
Usare un secondo account di archiviazione per la persistenza AOF quando si prevede di avere operazioni SET superiori al solito nella cache. L'uso dell'account di archiviazione secondario consente di garantire che la cache non raggiunga i limiti di larghezza di banda di archiviazione. Questa opzione è disponibile solo per le cache di livello Premium.
Come si rimuove il secondo account di archiviazione?
È possibile rimuovere l'account di archiviazione secondario della persistenza AOF impostandolo come il primo account di archiviazione. Per modificare le impostazioni per le cache esistenti, selezionare Persistenza dei dati in Impostazioni nel menu di spostamento a sinistra della pagina della cache. Per disabilitare completamente la persistenza, selezionare Disabilitato nella pagina Persistenza dei dati .
Che cos'è un'operazione di riscrittura e in che modo influisce sulla cache?
Quando un file AOF diventa sufficientemente grande, una riscrittura viene automaticamente accodata nella cache. L'operazione di riscrittura ridimensiona il file AOF con il set minimo di operazioni necessarie per creare il set di dati corrente.
Durante l'operazione di riscrittura è normale raggiungere prima i limiti di prestazioni, soprattutto quando si usano grandi set di dati. Le riscritture si verificano meno spesso quando il file AOF diventa più grande, ma richiede una quantità significativa di tempo quando si verificano.
Quali potrebbero essere gli effetti del ridimensionamento di una cache con la persistenza AOF abilitata?
Se il file AOF al momento del ridimensionamento è grande, aspettati che l'operazione di scalabilità richieda più tempo del solito, dato che ricarica il file una volta completato il ridimensionamento. Vedere anche Cosa accade se si ridimensiona a una dimensione diversa e viene ripristinato un backup eseguito prima dell'operazione di ridimensionamento?
Come vengono organizzati i dati AOF nello spazio di archiviazione?
Quando si usa il livello Premium, i dati archiviati nei file AOF vengono divisi in più BLOB di pagine per partizione. Per impostazione predefinita, una metà dei BLOB viene salvata nell'account di archiviazione primario, mentre l'altra metà nell'account di archiviazione secondario. La suddivisione dei dati tra più BLOB di pagine e due account di archiviazione diversi migliora le prestazioni.
Se la frequenza massima di scritture nella cache non è elevata, queste prestazioni aggiuntive potrebbero non essere necessarie.If the peak rate of writes to the cache isn't high, this extra performance might not be needed. In tal caso, è possibile rimuovere la configurazione dell'account di archiviazione secondario e tutti i file AOF archiviati nel singolo account di archiviazione primario. Nella tabella seguente viene visualizzato il numero totale di BLOB di pagine usati da ogni piano tariffario.
Livello Premium | BLOB |
---|---|
P1 | 8 per partizione |
P2 | 16 per partizione |
P3 | 32 per partizione |
P4 | 40 per partizione |
Quando il clustering è abilitato, ogni partizione nella cache ha un proprio set di BLOB di pagine, in base alla tabella precedente. Ad esempio, una cache P2 con tre partizioni distribuisce il file AOF tra 48 BLOB di pagine: sedici BLOB per partizione, con tre partizioni.
Dopo una riscrittura, nello spazio di archiviazione sono presenti due set di file AOF. Le riscritture si verificano in background e si accodano al primo set di file. Le operazioni SET inviate alla cache durante la riscrittura vengono accodate al secondo set di file.
Se si verifica un errore durante una riscrittura, viene archiviato temporaneamente un backup. Il backup viene eliminato immediatamente al termine della riscrittura. Se l'eliminazione temporanea è attivata per l'account di archiviazione, viene applicata l'impostazione di eliminazione temporanea e i backup esistenti restano nello stato di eliminazione temporanea.
La presenza di eccezioni del firewall nell'account di archiviazione influisce sulla persistenza?
Sì. Per la persistenza nel livello Premium, l'uso delle impostazioni del firewall nell'account di archiviazione può impedire il funzionamento della funzionalità di persistenza.
È possibile verificare la presenza di errori durante la persistenza dei dati visualizzando la metrica Errori. Questa metrica indica se la cache non è in grado di rendere persistenti i dati a causa di restrizioni del firewall sull'account di archiviazione o altri problemi.
Per usare la persistenza dei dati con un account di archiviazione con un firewall configurato, usare l'autenticazione basata su identità gestita per connettersi all'archiviazione. L'uso dell'identità gestita aggiunge l'istanza della cache all'elenco dei servizi attendibili, semplificando l'applicazione delle eccezioni del firewall. Se si autorizza all'account di archiviazione usando una chiave anziché un'identità gestita, la presenza di eccezioni del firewall nell'account di archiviazione tende a interrompere il processo di persistenza.
È possibile abilitare la persistenza AOF se si dispone di più repliche?
Con il livello Premium non è possibile usare la persistenza AOF con più repliche. Nei livelli Enterprise ed Enterprise Flash l'architettura di replica è più complessa, ma la persistenza AOF è supportata quando le cache aziendali vengono usate nelle distribuzioni con ridondanza della zona.
Come è possibile verificare se l'eliminazione temporanea è abilitata nell'account di archiviazione?
Nel portale di Azure selezionare l'account di archiviazione usato dalla cache per la persistenza e selezionare Protezione dei dati in Gestione dati nel menu di spostamento a sinistra. Nella pagina Protezione dei dati verificare se Abilita l'eliminazione temporanea per i BLOB è abilitata. Per altre informazioni sull'eliminazione temporanea negli account di archiviazione di Azure, vedere Abilitare l'eliminazione temporanea per i BLOB.
È possibile usare un account di archiviazione in una sottoscrizione diversa da quella in cui si trova la cache?
È possibile scegliere un account di archiviazione in una sottoscrizione diversa solo se si usa l'identità gestita come metodo di autenticazione dell'account di archiviazione.
Contenuti correlati
Altre informazioni sulle funzionalità della cache di Azure per Redis.