Come configurare la persistenza dei dati per una Cache Redis di Azure PremiumHow to configure data persistence for a Premium Azure Redis Cache

Cache Redis di Azure dispone di diverse offerte di cache che assicurano flessibilità nella scelta delle funzionalità e delle dimensioni della cache, incluse le funzionalità del livello Premium quali clustering, persistenza e supporto della rete virtuale.Azure Redis Cache has different cache offerings which provide flexibility in the choice of cache size and features, including Premium tier features such as clustering, persistence, and virtual network support. In questo articolo viene descritto come configurare la persistenza in un'istanza Premium di Cache Redis di Azure.This article describes how to configure persistence in a premium Azure Redis Cache instance.

Per informazioni su altre funzionalità di cache premium, vedere Introduzione al piano Premium di Cache Redis di Azure.For information on other premium cache features, see Introduction to the Azure Redis Cache Premium tier.

Che cos'è la persistenza dei dati?What is data persistence?

La persistenza Redis consente di rendere persistenti i dati archiviati in Redis.Redis persistence allows you to persist data stored in Redis. È inoltre possibile creare snapshot ed eseguire il backup dei dati, per consentirne il caricamento in caso di errore hardware.You can also take snapshots and back up the data, which you can load in case of a hardware failure. Si tratta di un enorme vantaggio rispetto al livello Basic o Standard in cui tutti i dati vengono archiviati in memoria ed esiste il rischio di potenziali perdite di dati in caso di errore quando i nodi della cache sono inattivi.This is a huge advantage over Basic or Standard tier where all the data is stored in memory and there can be potential data loss in case of a failure where Cache nodes are down.

Il servizio Cache Redis di Azure offre i modelli di persistenza Redis seguenti:Azure Redis Cache offers Redis persistence using the following models:

  • Persistenza RDB: quando si configura la persistenza RDB (database Redis), Cache Redis di Azure salva in modo permanente uno snapshot della cache Redis in un formato binario Redis su disco in base a una frequenza di backup configurabile.RDB persistence - When RDB (Redis database) persistence is configured, Azure Redis Cache persists a snapshot of the Redis cache in a Redis binary format to disk based on a configurable backup frequency. Se si verifica un evento catastrofico che disabilita sia la cache primaria che quella di replica, la cache viene ricostruita usando lo snapshot più recente.If a catastrophic event occurs that disables both the primary and replica cache, the cache is reconstructed using the most recent snapshot. Altre informazioni sono disponibili sui vantaggi e gli svantaggi della persistenza RDB.Learn more about the advantages and disadvantages of RDB persistence.
  • Persistenza AOF: quando si configura la persistenza AOF (Append only file), Cache Redis di Azure salva ogni operazione di scrittura in un log che viene salvato almeno una volta al secondo in un account di archiviazione di Azure.AOF persistence - When AOF (Append only file) persistence is configured, Azure Redis Cache saves every write operation to a log that is saved at least once per second into an Azure Storage account. Se si verifica un evento catastrofico che disabilita sia la cache primaria che quella di replica, la cache viene ricostruita usando le operazioni di scrittura più recenti.If a catastrophic event occurs that disables both the primary and replica cache, the cache is reconstructed using the stored write operations. Altre informazioni sono disponibili sui vantaggi e gli svantaggi della persistenza AOF.Learn more about the advantages and disadvantages of AOF persistence.

La persistenza può essere configurata nel pannello Nuova cache Redis durante la creazione della cache e nel menu Risorse per le cache premium esistenti.Persistence is configured from the New Redis Cache blade during cache creation and on the Resource menu for existing premium caches.

Per creare una cache Premium, accedere al portale di Azure e fare clic su Nuovo > Database > Cache Redis.To create a premium cache, sign-in to the Azure portal and click New > Databases > Redis Cache.

Create cache

Nota

Oltre a creare cache nel portale di Azure, è possibile crearle usando modelli di Resource Manager, PowerShell o l'interfaccia della riga di comando di Azure.In addition to creating caches in the Azure portal, you can also create them using Resource Manager templates, PowerShell, or Azure CLI. Per altre informazioni sulla creazione di un'istanza di Cache Redis di Azure, vedere Creare una cache.For more information about creating an Azure Redis Cache, see Create a cache.

Per configurare le funzionalità Premium, selezionare prima di tutto uno dei piani tariffari Premium nell'elenco a discesa Piano tariffario.To configure premium features, first select one of the premium pricing tiers in the Pricing tier drop-down list. Per altre informazioni sui diversi piani tariffari, fare clic su Visualizza i dettagli completi sui prezzi e selezionare un piano tariffario nel pannello Scegliere un piano tariffario.For more information about each pricing tier, click View full pricing details and select a pricing tier from the Choose your pricing tier blade.

Scegliere il piano tariffario

Dopo aver selezionato un piano tariffario Premium, fare clic su Persistenza Redis.Once a premium pricing tier is selected, click Redis persistence.

Persistenza Redis

La procedura illustrata nella sezione che segue descrive come configurare la persistenza Redis per la nuova cache premium.The steps in the next section describe how to configure Redis persistence on your new premium cache. Una volta configurata la persistenza di Redis, fare clic su Crea per creare la nuova cache premium con persistenza di Redis.Once Redis persistence is configured, click Create to create your new premium cache with Redis persistence.

Abilitare la persistenza RedisEnable Redis persistence

È possibile abilitare la persistenza Redis nel pannello Persistenza dei dati Redis scegliendo tra la persistenza RDB o AOF.Redis persistence is enabled on the Redis data persistence blade by choosing either RDB or AOF persistence. Per le nuove cache, questo pannello è accessibile durante il processo di creazione della cache, come descritto nella sezione precedente.For new caches, this blade is accessed during the cache creation process, as described in the previous section. Per le cache esistenti, è possibile accedere al pannello Persistenza dei dati di Redis dal menu Risorse della cache.For existing caches, the Redis data persistence blade is accessed from the Resource menu for your cache.

Impostazioni di Redis

Configurare la persistenza RDBConfigure RDB persistence

Per abilitare la persistenza RDB, fare clic su RDB.To enable RDB persistence, click RDB. Per disabilitare la persistenza RDB in una cache premium precedentemente abilitata, fare clic su Disabilita.To disable RDB persistence on a previously enabled premium cache, click Disabled.

Persistenza RDB di Redis

Per configurare l'intervallo di backup, selezionare una Frequenza di Backup dall'elenco a discesa.To configure the backup interval, select a Backup Frequency from the drop-down list. Le opzioni disponibili includono 15 minuti, 30 minuti, 60 minuti, 6 ore, 12 ore e 24 ore.Choices include 15 Minutes, 30 minutes, 60 minutes, 6 hours, 12 hours, and 24 hours. Il conto alla rovescia per l'intervallo inizia dopo il corretto completamento dell'operazione di backup precedente e al termine viene avviato un nuovo backup.This interval starts counting down after the previous backup operation successfully completes and when it elapses a new backup is initiated.

Fare clic su Account di archiviazione per selezionare l'account di archiviazione da usare e scegliere la Chiave primaria o la Chiave secondaria da usare dall'elenco a discesa Chiave di archiviazione.Click Storage Account to select the storage account to use, and choose either the Primary key or Secondary key to use from the Storage Key drop-down. È necessario scegliere un account di archiviazione nella stessa area della cache ed è consigliato un account Archiviazione Premium , poiché archiviazione premium ha una velocità effettiva maggiore.You must choose a storage account in the same region as the cache, and a Premium Storage account is recommended because premium storage has higher throughput.

Importante

Se la chiave di archiviazione per l'account di persistenza viene rigenerata, è necessario riconfigurare la chiave desiderata dall'elenco a discesa Chiave di archiviazione.If the storage key for your persistence account is regenerated, you must reconfigure the desired key from the Storage Key drop-down.

Fare clic su OK per salvare la configurazione della persistenza.Click OK to save the persistence configuration.

Una volta trascorso l'intervallo di frequenza di backup, viene avviato il backup successivo (o il primo backup per le nuove cache).The next backup (or first backup for new caches) is initiated once the backup frequency interval elapses.

Configurare la persistenza AOFConfigure AOF persistence

Per abilitare la persistenza AOF, fare clic su AOF.To enable AOF persistence, click AOF. Per disabilitare la persistenza AOF in una cache premium precedentemente abilitata, fare clic su Disabilita.To disable AOF persistence on a previously enabled premium cache, click Disabled.

Persistenza AOF di Redis

Per configurare la persistenza AOF, specificare un primo account di archiviazione.To configure AOF persistence, specify a First Storage Account. Questo account deve trovarsi nella stessa area della cache e deve essere preferibilmente un account di Archiviazione Premium perché questo tipo di archiviazione offre una velocità effettiva superiore.This storage account must be in the same region as the cache, and a Premium Storage account is recommended because premium storage has higher throughput. Facoltativamente, è possibile configurare un account di archiviazione aggiuntivo denominato secondo account di archiviazione.You can optionally configure an additional storage account named Second Storage Account. Se si configura un secondo account di archiviazione, è qui che vengono scritte le operazioni di scrittura alla cache di replica.If a second storage account is configured, the writes to the replica cache are written to this second storage account. Per ogni account di archiviazione configurato, scegliere la Chiave primaria o la Chiave secondaria da usare dall'elenco a discesa Chiave di archiviazione.For each configured storage account, choose either the Primary key or Secondary key to use from the Storage Key drop-down.

Importante

Se la chiave di archiviazione per l'account di persistenza viene rigenerata, è necessario riconfigurare la chiave desiderata dall'elenco a discesa Chiave di archiviazione.If the storage key for your persistence account is regenerated, you must reconfigure the desired key from the Storage Key drop-down.

Quando la persistenza AOF è abilitata, le operazioni di scrittura alla cache vengono salvate nell'account di archiviazione designato (o negli account se è stato configurato un secondo account di archiviazione).When AOF persistence is enabled, write operations to the cache are saved to the designated storage account (or accounts if you have configured a second storage account). In caso di un errore irreversibile che danneggia sia la cache primaria che quella di replica, viene usato il log AOF archiviato per ricreare la cache.In the event of a catastrophic failure that takes down both the primary and replica cache, the stored AOF log is used to rebuild the cache.

Domande frequenti sulla persistenzaPersistence FAQ

Nell'elenco seguente sono fornite le risposte alle domande poste comunemente sulla persistenza di Cache Redis di Azure.The following list contains answers to commonly asked questions about Azure Redis Cache persistence.

Persistenza RDBRDB persistence

Persistenza AOFAOF persistence

È possibile abilitare la persistenza per una cache creata in precedenza?Can I enable persistence on a previously created cache?

Sì, la persistenza di Redis può essere configurata sia al momento della creazione della cache che nelle cache premium esistenti.Yes, Redis persistence can be configured both at cache creation and on existing premium caches.

È possibile abilitare la persistenza AOF e RDB allo stesso tempo?Can I enable AOF and RDB persistence at the same time?

No, è necessario scegliere una delle due. Non è possibile usarle entrambe contemporaneamente.No, you can enable only RDB or AOF, but not both at the same time.

Quale modello di persistenza è consigliabile scegliere?Which persistence model should I choose?

La persistenza AOF salva ogni operazione di scrittura in un log e questa operazione ha un certo impatto sulla velocità effettiva. La persistenza RDB invece salva i backup in base all'intervallo di backup configurato con un impatto minimo sulle prestazioni.AOF persistence saves every write to a log, which has some impact on throughput, compared with RDB persistence which saves backups based on the configured backup interval, with minimal impact on performance. È consigliabile scegliere la persistenza AOF se lo scopo principale è ridurre al minimo la perdita di dati e si è in grado di gestire una diminuzione della velocità effettiva per la cache.Choose AOF persistence if your primary goal is to minimize data loss, and you can handle a decrease in throughput for your cache. Se si desidera invece mantenere la velocità effettiva ottimale nella cache e avere comunque un meccanismo per il ripristino dei dati, è preferibile scegliere la persistenza RDB.Choose RDB persistence if you wish to maintain optimal throughput on your cache, but still want a mechanism for data recovery.

Per altre informazioni sulle prestazioni quando si usa la persistenza AOF, vedere La persistenza AOF influisce sulla velocità effettiva, la latenza o le prestazioni della cache?For more information on performance when using AOF persistence, see Does AOF persistence affect throughout, latency, or performance of my cache?

Cosa accade se si è passati a una dimensione diversa e viene ripristinato un backup creato prima dell'operazione di ridimensionamento?What happens if I have scaled to a different size and a backup is restored that was made before the scaling operation?

Per la persistenza sia RDB sia AOF:For both RDB and AOF persistence:

  • Se si è passati a una dimensione maggiore, non ci sono conseguenze.If you have scaled to a larger size, there is no impact.
  • Se si è passati a una dimensione minore e l'impostazione dei database personalizzata è superiore al limite dei database per la nuova dimensione, i dati di questi database non vengono ripristinati.If you have scaled to a smaller size, and you have a custom databases setting that is greater than the databases limit for your new size, data in those databases isn't restored. Per altre informazioni, vedere L'impostazione databases personalizzata viene modificata durante il ridimensionamento?For more information, see Is my custom databases setting affected during scaling?
  • Se si è passati a una dimensione minore che non è abbastanza grande per contenere tutti i dati del backup più recente, le chiavi verranno rimosse durante il processo di ripristino, in genere usando il criterio di rimozione allkeys-lru .If you have scaled to a smaller size, and there isn't enough room in the smaller size to hold all of the data from the last backup, keys will be evicted during the restore process, typically using the allkeys-lru eviction policy.

È possibile modificare la frequenza di backup RDB dopo avere creato la cache?Can I change the RDB backup frequency after I create the cache?

Sì, è possibile modificare la frequenza di backup per la persistenza RDB nel pannello Persistenza dei dati di Redis.Yes, you can change the backup frequency for RDB persistence on the Redis data persistence blade. Per istruzioni, vedere Configurare la persistenza di Redis.For instructions, see Configure Redis persistence.

Perché trascorrono più di 60 minuti tra i backup se è stata impostata una frequenza di backup RDB di 60 minuti?Why if I have an RDB backup frequency of 60 minutes there is more than 60 minutes between backups?

L'intervallo di frequenza di backup della persistenza RDB inizia solo dopo il completamento del processo di backup precedente.The RDB persistence backup frequency interval does not start until the previous backup process has completed successfully. Se la frequenza di backup è 60 minuti e per il corretto completamento del processo di backup sono richiesti 15 minuti, il backup successivo verrà avviato solo 75 minuti dopo l'ora di inizio del backup precedente.If the backup frequency is 60 minutes and it takes a backup process 15 minutes to successfully complete, the next backup won't start until 75 minutes after the start time of the previous backup.

Cosa accade ai backup RDB precedenti quando viene eseguito un nuovo backup?What happens to the old RDB backups when a new backup is made?

A eccezione di quello più recente, tutti i backup della persistenza RDB vengono eliminati automaticamente.All RDB persistence backups except for the most recent one are automatically deleted. L'eliminazione potrebbe non avvenire immediatamente, ma i backup meno recenti non vengono mantenuti per un tempo illimitato.This deletion may not happen immediately but older backups are not persisted indefinitely.

Quando è consigliabile usare un secondo account di archiviazione?When should I use a second storage account?

È consigliabile usare un secondo account di archiviazione per la persistenza AOF quando si ritiene di avere un numero di operazioni set nella cache superiore a quello previsto.You should use a second storage account for AOF persistence when you believe you have higher than expected set operations on the cache. L'impostazione del secondo account di archiviazione aiuta a garantire che la cache non raggiunga i limiti di larghezza di banda di archiviazione.Setting up the secondary storage account helps ensure your cache doesn't reach storage bandwidth limits.

La persistenza AOF influisce sulla velocità effettiva, la latenza o le prestazioni della cache?Does AOF persistence affect throughout, latency, or performance of my cache?

La persistenza AOF influisce sulla velocità effettiva di circa il 15-20% quando la cache è al di sotto del carico massimo (carico di CPU e server inferiore al 90%).AOF persistence affects throughput by about 15% – 20% when the cache is below maximum load (CPU and Server Load both under 90%). Quando la cache lavora entro questi limiti, non si verificano problemi di latenza.There should not be latency issues when the cache is within these limits. La cache raggiunge tuttavia questi limiti prima con la persistenza AOF abilitata.However, the cache will reach these limits sooner with AOF enabled.

Come si rimuove il secondo account di archiviazione?How can I remove the second storage account?

È possibile rimuovere l'account di archiviazione secondario della persistenza AOF impostandolo come il primo account di archiviazione.You can remove the AOF persistence secondary storage account by setting the second storage account to be the same as the first storage account. Per istruzioni, vedere Configurare la persistenza AOF.For instructions, see Configure AOF persistence.

Che cos'è un'operazione di riscrittura e in che modo influisce sulla cache?What is a rewrite and how does it affect my cache?

Quando il file AOF diventa sufficientemente grande, viene automaticamente accodata una riscrittura nella cache.When the AOF file becomes large enough, a rewrite is automatically queued on the cache. L'operazione di riscrittura ridimensiona il file AOF con il set minimo di operazioni necessarie per creare il set di dati corrente.The rewrite resizes the AOF file with the minimal set of operations needed to create the current data set. Durante l'operazione di riscrittura è normale raggiungere prima i limiti di prestazioni, soprattutto quando si usano grandi set di dati.During rewrites, expect to reach performance limits sooner especially when dealing with large datasets. L'operazione di riscrittura avviene meno spesso man mano che il file AOF diventa più grande, ma quando a quel punto si renderà necessaria, richiederà molto più tempo.Rewrites occur less often as the AOF file becomes larger, but will take a significant amount of time when it happens.

Quali potrebbero essere gli effetti del ridimensionamento di una cache con la persistenza AOF abilitata?What should I expect when scaling a cache with AOF enabled?

Se il file AOF al momento del ridimensionamento è molto grande, l'operazione di ridimensionamento richiede più tempo del previsto perché ricarica il file dopo che il ridimensionamento è stato completato.If the AOF file at the time of scaling is significantly large, then expect the scale operation to take longer than expected since it will be reloading the file after scaling has finished.

Per altre informazioni sul ridimensionamento, vedere Cosa accade se si è passati a una dimensione diversa e viene ripristinato un backup creato prima dell'operazione di ridimensionamento?For more information on scaling, see What happens if I have scaled to a different size and a backup is restored that was made before the scaling operation?

Come vengono organizzati i dati AOF nello spazio di archiviazione?How is my AOF data organized in storage?

I dati archiviati nei file AOF sono suddivisi in più BLOB di pagine per ogni nodo per migliorare le prestazioni nel salvataggio dei dati nello spazio di archiviazione.Data stored in AOF files is divided into multiple page blobs per node to increase performance of saving the data to storage. La tabella seguente illustra il numero di BLOB di pagine usato per ogni piano tariffario:The following table displays how many page blobs are used for each pricing tier:

Livello PremiumPremium tier BlobsBlobs
P1P1 4 per partizione4 per shard
P2P2 8 per partizione8 per shard
P3P3 16 per partizione16 per shard
P4P4 20 per partizione20 per shard

Quando è abilitato il clustering, ogni partizione nella cache ha un proprio set di BLOB di pagine, come indicato nella tabella precedente.When clustering is enabled, each shard in the cache has its own set of page blobs, as indicated in the previous table. Una cache P2 con tre partizioni, ad esempio, distribuisce il proprio file AOF su 24 BLOB di pagine (8 BLOB per partizione, con 3 partizioni).For example, a P2 cache with three shards distributes its AOF file across 24 page blobs (8 blobs per shard, with 3 shards).

Dopo una riscrittura, nello spazio di archiviazione sono presenti due set di file AOF.After a rewrite, two sets of AOF files exist in storage. L'operazione di riscrittura avviene in background e si accoda al primo set di file, mentre le operazioni set che vengono inviate alla cache durante la riscrittura si accodano al secondo set.Rewrites occur in the background and append to the first set of files, while set operations that are sent to the cache during the rewrite append to the second set. Una copia di backup viene archiviata temporaneamente durante la riscrittura in caso di errore, ma viene eliminata immediatamente dopo il completamento della riscrittura.A backup is temporarily stored during rewrites in case of failure, but is promptly deleted after a rewrite finishes.

Passaggi successiviNext steps

Informazioni su come usare altre funzionalità di cache premium.Learn how to use more premium cache features.