Informazioni su Cache Redis di Azure

La cache di Azure per Redis fornisce un archivio dati in memoria basato sul software Redis. Redis migliora notevolmente le prestazioni e la scalabilità di un'applicazione che usa archivi dati back-end. È in grado di elaborare grandi volumi di richieste di applicazioni mantenendo nella memoria del server i dati a cui si accede di frequente, che possono essere scritti e letti rapidamente. Redis offre una soluzione di archiviazione dati strategica a bassa latenza e velocità effettiva elevata per le applicazioni moderne.

cache di Azure per Redis offre sia redis open source (OSS Redis) che un prodotto commerciale di Redis Inc. (Redis Enterprise) come servizio gestito. Offre istanze del server Redis sicure e dedicate e compatibilità completa con l'API Redis. Il servizio viene gestito da Microsoft, ospitato in Azure e utilizzabile da qualsiasi applicazione all'interno o all'esterno di Azure.

La cache di Azure per Redis può essere usata come cache del contenuto o dei dati distribuiti, archivio di sessioni, broker di messaggi e altro ancora. Può essere distribuito autonomo. In alternativa, può essere distribuito insieme ad altri servizi di database di Azure, ad esempio SQL di Azure o Azure Cosmos DB.

Scenari principali

La cache di Azure per Redis migliora le prestazioni delle applicazioni supportando modelli di architettura delle applicazioni comuni. Tra i modelli più comuni sono inclusi i seguenti:

Modello Descrizione
Cache dei dati Spesso i database sono troppo grandi per essere caricati direttamente in una cache. È prassi comune usare il modello cache-aside per caricare dati nella cache solo in base alle esigenze. Quando il sistema apporta modifiche ai dati, può anche aggiornare la cache, che viene quindi distribuita ad altri client. Inoltre, il sistema può impostare una scadenza per i dati oppure usare criteri di rimozione per attivare gli aggiornamenti dei dati nella cache.
Cache del contenuto Molte pagine Web vengono generate da modelli che usano contenuto statico, ad esempio intestazioni, piè di pagina e banner. Questi elementi statici non devono cambiare spesso. L'uso di una cache in memoria consente di accedere rapidamente al contenuto statico rispetto agli archivi dati back-end. Questo modello riduce il tempo di elaborazione e il carico del server, consentendo ai server Web di essere più reattivi. Permette inoltre di ridurre il numero di server necessari per gestire i carichi. Cache di Azure per Redis fornisce il provider di cache di output per Redis per supportare questo modello con ASP.NET.
Archivio di sessioni Questo modello viene comunemente usato con i carrelli dei siti di e-commerce e altri dati della cronologia utente che un'applicazione Web potrebbe voler associare ai cookie degli utenti. L'archiviazione di troppe informazioni in un cookie può influire negativamente sulle prestazioni man mano che le dimensioni del cookie aumentano e il cookie viene passato e convalidato con ogni richiesta. Una tipica soluzione usa il cookie come chiave per eseguire query sui dati in un database. Quando si usa una cache in memoria, ad esempio cache di Azure per Redis, per associare informazioni a un utente è più veloce rispetto all'interazione con un database relazionale completo.
Accodamento di messaggi e processi Spesso le applicazioni aggiungono le attività a una coda quando l'esecuzione delle operazioni associate alla richiesta richiede tempo. Le operazioni a esecuzione prolungata vengono accodate per essere elaborate in sequenza, spesso da un altro server. Questo metodo di differimento del lavoro è noto come accodamento di attività. Cache di Azure per Redis fornisce una coda distribuita per abilitare questo modello nell'applicazione.
Transazioni distribuite Talvolta le applicazioni richiedono una serie di comandi su un archivio dati back-end per l'esecuzione come singola operazione atomica. Tutti i comandi devono avere esito positivo o essere riportati allo stato iniziale. La cache di Azure per Redis supporta l'esecuzione di un batch di comandi come singola transazione.

Versioni di Redis

cache di Azure per Redis supporta OSS Redis versione 4.0.x e 6.0.x. È stato deciso di ignorare Redis 5.0 per offrire l'ultima versione. In precedenza, cache di Azure per Redis mantenuto una singola versione di Redis. In futuro, è possibile scegliere tra un aggiornamento della versione principale più recente e almeno una versione stabile meno recente. È possibile scegliere la versione più adatta per l'applicazione.

Livelli di servizio

La cache di Azure per Redis è disponibile in questi livelli:

Livello Descrizione
Di base Una cache Redis software open source in esecuzione in una macchina virtuale singola. Questo livello non prevede alcun contratto di servizio ed è ideale per carichi di lavoro di sviluppo/test e non critici.
Standard Una cache Redis software open source in esecuzione in due macchine virtuali in una configurazione replicata.
Premium Cache Redis software open source a prestazioni elevate. Questo livello offre velocità effettiva maggiore, latenza minore, disponibilità migliore e un maggior numero di funzionalità. Le cache Premium vengono distribuite in macchine virtuali più potenti rispetto a quelle per le cache Basic o Standard.
Funzionalità per le aziende Cache ad alte prestazioni basate sul software Redis Enterprise di Redis Inc.. Questo livello supporta i moduli Redis, tra cui RediSearch, RedisBloom, RedisJSON e RedisTimeSeries. Offre inoltre una disponibilità ancora più elevata rispetto al livello Premium.
Enterprise Flash Cache di grandi dimensioni convenienti basate sul software Redis Enterprise di Redis Inc.. Questo livello estende l'archiviazione dei dati Redis alla memoria non volatile, che è più economica della DRAM, in una macchina virtuale. Riduce il costo complessivo della memoria per GB.

Confronto delle funzionalità

Nella pagina Prezzi di Cache di Azure per Redis è presente un confronto dettagliato dei livelli disponibili. La tabella seguente descrive alcune delle funzionalità supportate in base al livello:

Descrizione della funzionalità Basic Standard Premium Enterprise Enterprise Flash
Contratto di servizio (SLA) -
Crittografia di dati in transito
Isolamento della rete
Ridimensionamento Anteprima Anteprima
Clustering oss - -
Persistenza dei dati - - Anteprima Anteprima
Ridondanza della zona - - Disponibile Disponibile Disponibile
Replica geografica - - ✔ (Passivo) ✔ (Attivo) ✔ (Attivo)
log di controllo di Connessione ion - - ✔ (basato sul polling) ✔ (basato su eventi) ✔ (basato su eventi)
Moduli Redis - - - Anteprima
Importazione/Esportazione - -
Reboot - -
Aggiornare il canale e pianificare gli aggiornamenti - -

Nota

Il livello Enterprise Flash supporta attualmente solo il modulo RediSearch (in anteprima) e il modulo RedisJSON.

Scelta del livello appropriato

Quando si sceglie un livello di cache di Azure per Redis, prendere in considerazione le opzioni seguenti:

  • Memoria: i livelli Basic e Standard offrono 250 MB - 53 GB, il livello Premium da 6 GB a 1,2 TB, il livello Enterprise da 4 GB a 2 TB e il livello Enterprise Flash 300 GB - 4,5 TB. Per creare una cache di livello Premium di dimensioni maggiori di 120 GB, è possibile usare il clustering del software open source Redis. Per altre informazioni, vedere Prezzi di Cache Redis di Azure.
  • Prestazioni: le cache nei livelli Premium ed Enterprise vengono distribuite su hardware con processori più veloci, offrendo prestazioni migliori rispetto al livello Basic o Standard. Il livello Enterprise offre in genere prestazioni ottimali per la maggior parte dei carichi di lavoro, in particolare con istanze di cache più grandi. Per altre informazioni, vedere Test delle prestazioni.
  • Core dedicato per il server Redis: tutte le cache tranne C0 eseguono vCPU dedicate. I livelli Basic, Standard e Premium eseguono Redis open source, che per progettazione usa un solo thread per l'elaborazione dei comandi. In questi livelli, avere più vCPU in genere migliora le prestazioni della velocità effettiva perché cache di Azure per Redis usa altre vCPU per l'elaborazione di I/O o per i processi del sistema operativo. Tuttavia, l'aggiunta di più vCPU per ogni istanza potrebbe non produrre aumenti delle prestazioni lineari. L'aumento delle prestazioni aumenta in genere le prestazioni rispetto all'aumento delle prestazioni in questi livelli. Le cache del livello Enterprise e Enterprise Flash vengono eseguite in Redis Enterprise, in grado di usare più vCPU per ogni istanza, che possono anche migliorare significativamente le prestazioni rispetto ad altri livelli. Per i livelli Flash Enterprise ed Enterprise, è consigliabile aumentare le prestazioni prima di aumentare le prestazioni. Per altre informazioni, vedere Partizionamento orizzontale e utilizzo della CPU.
  • Prestazioni di rete: se si dispone di un carico di lavoro che richiede una velocità effettiva elevata, il livello Premium o Enterprise offre una larghezza di banda maggiore rispetto a Basic o Standard. Anche all'interno di ogni livello, a dimensioni più grandi della cache corrisponde maggiore larghezza di banda, a causa della macchina virtuale sottostante che ospita la cache. I limiti di larghezza di banda più elevati consentono di evitare la saturazione della rete che causano timeout nell'applicazione. Per altre informazioni, vedere Test delle prestazioni.
  • Numero massimo di connessioni client: i livelli Premium ed Enterprise offrono il numero massimo di client che possono connettersi a Redis, offrendo un numero più elevato di connessioni per cache di dimensioni maggiori. Il clustering aumenta la quantità totale di larghezza di banda di rete disponibile per una cache in cluster.
  • Disponibilità elevata: cache di Azure per Redis offre più opzioni di disponibilità elevata. Garantisce la disponibilità di una cache di livello Standard, Premium o Enterprise in base al contratto di servizio. Il contratto di servizio copre solo la connettività agli endpoint cache. Il contratto di servizio non copre la protezione dalla perdita di dati. È consigliabile usare la funzionalità di persistenza dei dati Redis nei livelli Premium ed Enterprise per aumentare la resilienza contro la perdita di dati.
  • Persistenza dei dati: i livelli Premium ed Enterprise consentono di rendere persistenti i dati della cache rispettivamente in un account Archiviazione di Azure e in un disco gestito. I problemi dell'infrastruttura sottostante possono comportare una potenziale perdita di dati. È consigliabile usare la funzionalità di persistenza dei dati Redis in questi livelli per aumentare la resilienza contro la perdita di dati. cache di Azure per Redis offre opzioni RDB e AOF (anteprima). La persistenza dei dati può essere abilitata tramite portale di Azure e l'interfaccia della riga di comando. Per il livello Premium, vedere Come configurare la persistenza per un cache di Azure per Redis Premium.
  • Isolamento della rete: le distribuzioni di collegamento privato di Azure e Rete virtuale (VNet) offrono sicurezza e isolamento del traffico avanzati per l'cache di Azure per Redis. La rete virtuale consente di limitare ulteriormente l'accesso tramite i criteri di controllo di accesso di rete. Per altre informazioni, vedere Cache di Azure per Redis con collegamento privato di Azure e Come configurare il supporto di una rete virtuale per un'istanza di Cache Redis di Azure Premium.
  • Moduli Redis: i livelli Enterprise supportano RediSearch, RedisBloom, RedisTimeSeries e RedisJSON. Questi moduli aggiungono nuovi tipi di dati e funzionalità a Redis.

Una volta creata, è possibile dimensionare la cache dal livello Basic fino al livello Premium. Il ridimensionamento a un livello inferiore non è attualmente supportato. Per istruzioni dettagliate sul ridimensionamento, vedere Come ridimensionare cache di Azure per Redis e Come ridimensionare i livelli Basic, Standard e Premium.

Considerazioni speciali per i livelli Enterprise

I livelli Enterprise si basano su Redis Enterprise, una variante commerciale di Redis di Redis Inc. I clienti ottengono e pagano una licenza per questo software tramite un'offerta di Azure Marketplace. cache di Azure per Redis gestisce l'acquisizione della licenza in modo che non sia necessario farlo separatamente. Per procedere all'acquisto in Azure Marketplace, sono necessari i prerequisiti seguenti:

  • La sottoscrizione di Azure deve avere uno strumento di pagamento valido. I crediti Azure o le sottoscrizioni MSDN gratuite non sono supportate.
  • L'organizzazione deve consentire gli acquisti in Azure Marketplace.
  • Se si usa un Marketplace privato, deve contenere l'offerta Redis Inc. Enterprise.

Importante

cache di Azure per Redis Enterprise richiede servizi di bilanciamento del carico di rete standard che vengono addebitati separatamente dalle istanze della cache stesse. Attualmente, questi addebiti vengono assorbiti da cache di Azure per Redis e non passati ai clienti. Questo potrebbe cambiare in futuro. Per altre informazioni, vedere Prezzi di Bilanciamento del carico.

Se una cache aziendale è configurata per più zone di disponibilità, gli addebiti per il trasferimento dei dati vengono assorbiti da Cache Redis di Azure e non passati ai clienti. Questo potrebbe cambiare in futuro, in cui il trasferimento dei dati verrebbe fatturato alle tariffe standard della larghezza di banda di rete

Inoltre, la persistenza dei dati aggiunge Managed Disks. L'uso di queste risorse è gratuito durante l'anteprima pubblica della persistenza dei dati aziendali. Ciò potrebbe cambiare quando la funzionalità diventa disponibile a livello generale.

Disponibilità per regione

cache di Azure per Redis si espande continuamente in nuove aree. Per controllare la disponibilità in base all'area, vedere Prodotti disponibili in base all'area.