Condividi tramite


Che cos'è Redis Gestito di Azure?

Redis gestito di Azure offre un archivio dati in memoria basato sul software Redis Enterprise . Redis Enterprise migliora le prestazioni e l'affidabilità dell'edizione community di Redis, mantenendo al tempo stesso la compatibilità. Microsoft gestisce il servizio, ospitato in Azure e utilizzabile da qualsiasi applicazione all'interno o all'esterno di Azure. Per ulteriori informazioni su come è costruito Redis gestito di Azure, vedere Architettura di Redis gestito di Azure.

Redis gestito di Azure può migliorare le prestazioni e la scalabilità di un'applicazione che usa in modo pesante gli 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. Inoltre, Redis viene sempre più utilizzato per applicazioni che non riguardano la memorizzazione nella cache, tra cui inserimento dati, deduplicazione, messaggistica, classifiche, memorizzazione nella cache semantica e come database vettoriale.

Redis gestito di Azure può essere distribuito autonomo o distribuito insieme ad altri servizi di database o app di Azure, ad esempio App contenitore di Azure, Servizio app di Azure, Funzioni di Azure, AZURE SQL o Azure Cosmos DB.

Scenari chiave

Redis gestito di Azure migliora le prestazioni dell'applicazione supportando modelli di architettura delle applicazioni comuni. Tra i modelli più comuni sono inclusi i seguenti:

Pattern Description
Cache dei dati Spesso i database sono troppo grandi per essere caricati direttamente in una cache. È comune usare il modello cache-aside per caricare i 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. Azure Managed Redis fornisce il provider della cache di output 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 Redis gestita di Azure, per associare le informazioni a un utente è più veloce rispetto all'interazione con un database relazionale completo.
Ricerca di somiglianza vettoriale Un caso d'uso di intelligenza artificiale comune consiste nel generare incorporamenti vettoriali usando un modello LLM (Large Language Model). Questi incorporamenti vettoriali devono essere archiviati in un database vettoriale e quindi confrontati per determinare la somiglianza. Redis Gestito di Azure offre funzionalità predefinite per archiviare e confrontare incorporamenti vettoriali a velocità effettive elevate.
Caching semantico L'uso di LLMs spesso introduce una quantità elevata di latenza (a causa del tempo di generazione) e dei costi (a causa dei prezzi per token) a un'applicazione. La memorizzazione nella cache consente di risolvere questi problemi archiviando l'output precedente di un LLM in modo che possa essere recuperato di nuovo rapidamente. Tuttavia, poiché i modelli linguistici di grandi dimensioni usano il linguaggio naturale, l'archiviazione può essere difficile da gestire per le cache tipiche. Le cache semantiche come Azure Managed Redis sono in grado di memorizzare nella cache non solo una query specifica, ma il significato semantico di una query, che consente di usarli molto più naturalmente con gli LLM.
Deduplication Spesso, è necessario determinare se un'azione è già stata eseguita in un sistema, ad esempio se un nome utente è già stato preso o se è già stata inviata un'email a un cliente. In Azure Managed Redis i filtri bloom possono determinare rapidamente i duplicati e prevenire i problemi.
Leaderboards Redis offre un supporto semplice e potente per lo sviluppo di classifiche di tutti i tipi usando la struttura dei dati del set ordinato . Inoltre, l'uso della replica geografica attiva può consentire la condivisione globale di un tabellone punteggi.
Accodamento di messaggi e processi Spesso le applicazioni aggiungono le attività a una coda quando le operazioni associate alla richiesta richiedono tempo per essere eseguite. 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à. Redis gestito di Azure offre una coda distribuita per abilitare questo modello nell'applicazione.
Accelerazione di Power BI/Analytics È possibile usare il driver ODBC Redis per usare Redis per BI, creazione di report e casi d'uso di analisi. Poiché Redis è in genere molto più veloce rispetto ai database relazionali, l'uso di Redis in questo modo può aumentare notevolmente la velocità di risposta delle query.
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. Azure Managed Redis supporta l'esecuzione di un batch di comandi come singola transazione.

Versione di Redis

Redis gestito di Azure supporta Redis versione 7.4.x. Per altre informazioni, vedere Come aggiornare la versione dell'istanza di Redis gestita di Azure.

Scelta del livello appropriato

Sono disponibili quattro livelli di Redis Gestito di Azure, ognuno con caratteristiche di prestazioni e livelli di prezzo diversi.

Livelli e SKU a colpo d'occhio

Immagine di una tabella che mostra un confronto tra SKU e livelli.

Tre livelli archivia i dati in memoria:

  • Ottimizzazione per la memoria Ideale per i casi d'uso a elevato utilizzo di memoria che richiedono un rapporto elevato tra memoria e vCPU (8:1), ma non richiede le prestazioni di velocità effettiva più elevate. Offre un prezzo inferiore per gli scenari in cui è necessaria una minore potenza di elaborazione o velocità effettiva, rendendolo una scelta eccellente per gli ambienti di sviluppo e test.
  • Bilanciato (memoria e calcolo) Offre un rapporto di memoria-vCPU bilanciato (4:1), rendendolo ideale per i carichi di lavoro standard. Questo livello offre un bilanciamento integro della memoria e delle risorse di calcolo.
  • Ottimizzato per il Calcolo Progettato per carichi di lavoro ad alte prestazioni che richiedono una massima larghezza di banda, con un rapporto ridotto da memoria a vCPU di 2:1. È ideale per le applicazioni che richiedono prestazioni elevate.

Un livello archivia i dati sia in memoria che su disco:

  • Flash Optimized (anteprima) Consente ai cluster Redis di spostare automaticamente i dati a cui si accede meno frequentemente dalla memoria (RAM) all'archiviazione NVMe. Ciò riduce le prestazioni, ma consente un ridimensionamento conveniente delle cache con set di dati di grandi dimensioni.

È anche possibile usare la funzionalità di persistenza dei dati per archiviare i dati su disco per i livelli in memoria. La persistenza dei dati archivia una copia di backup dei dati su disco per un ripristino rapido se si verifica un'interruzione imprevista. Questo è diverso dal livello Ottimizzato per Flash, progettato per archiviare i dati su disco per le operazioni tipiche.

L'archiviazione di alcuni dati su disco tramite il livello Ottimizzato per Flash non aumenta la resilienza dei dati. È possibile usare anche la persistenza dei dati nel livello Ottimizzato per Flash.

Note

Per altre informazioni sull'architettura del livello Ottimizzato per Flash, vedere Architettura redis gestita di Azure

Important

Tutti i livelli in memoria che usano più di 120 GB di spazio di archiviazione sono disponibili in anteprima pubblica, inclusi M150 ottimizzati per la memoria e superiori; B150 bilanciati e superiori; X150 ottimizzati per il calcolo e superiori. Tutti questi livelli e versioni successive sono disponibili in anteprima pubblica.

Tutti i livelli con ottimizzazione flash sono disponibili in anteprima pubblica.

Confronto delle funzionalità

La tabella seguente descrive alcune delle funzionalità supportate in base al livello:

Descrizione della funzionalità Memory Optimized Balanced Compute Optimized Flash Optimized
Dimensioni (GB) 12 - 1920 0.5 - 960 3 - 720 250 - 4500
Contratto di servizio Yes Yes Yes Yes
Crittografia di dati in transito Sì (endpoint privato) Sì (endpoint privato) Sì (endpoint privato) Sì (endpoint privato)
Replica e failover Yes Yes Yes Yes
Isolamento della rete Yes Yes Yes Yes
Autenticazione basata su ID di Microsoft Entra Yes Yes Yes Yes
Scalabilità Yes Yes Yes Yes
Disponibilità elevata *Sì *Sì *Sì *Sì
Persistenza dei dati Yes Yes Yes Yes
Geo-replication Sì (attivo) Sì (attivo) Sì (attivo) No
Istanze non clusterizzate Yes Yes Yes No
Log di controllo della connessione Sì (basato su eventi) Sì (basato su eventi) Sì (basato su eventi) Sì (basato su eventi)
Strutture di dati JSON (ovvero JSON di Redis) Yes Yes Yes Yes
Funzionalità di ricerca (inclusa la ricerca vettoriale) Yes Yes Yes No
Strutture di dati probabilistici (vale a dire Redis Bloom) Yes Yes Yes Yes
Funzionalità del database Time Series (ovvero TimeSeries) Yes Yes Yes Yes
Import/Export Yes Yes Yes Yes

* Quando la disponibilità elevata è abilitata, Azure Managed Redis è ridondante nella zona nelle aree con più zone di disponibilità.

Quando si usa la disponibilità elevata, un'istanza di Redis gestita di Azure viene distribuita con partizioni primarie e di replica in due nodi. Nelle aree senza zone di disponibilità, le partizioni primarie e di replica vengono distribuite in due nodi nella stessa zona.

Important

Le opzioni dello SKU B0 e B1 Balanced non supportano la replica geografica attiva.

Note

Il supporto per la riduzione delle prestazioni è limitato in alcune situazioni. Per altre informazioni, vedere Limitazioni del ridimensionamento di Azure Managed Redis.

Prestazioni di rete

Se si ha di un carico di lavoro che richiede una velocità effettiva elevata, la larghezza di banda di rete potrebbe determinare un collo di bottiglia. È possibile aumentare la larghezza di banda passando a un livello di prestazioni superiore o passando a un'istanza di grandi dimensioni. Le istanze di dimensioni maggiori hanno una larghezza di banda maggiore 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 causa timeout nell'applicazione. Per altre informazioni sulle prestazioni della larghezza di banda, vedere Test delle prestazioni

Numero massimo di connessioni client

Ogni SKU ha un numero massimo di connessioni client. Questo limite aumenta con livelli di prestazioni superiori e dimensioni maggiori delle istanze. La tabella seguente mostra il numero massimo di connessioni client consentite per ogni SKU di Redis gestito di Azure.

Questa tabella mostra il numero massimo di connessioni per livello e dimensioni di memoria.

Dimensioni (GB) Memoria
Con ottimizzazione
Balanced Compute
Con ottimizzazione
Flash
Con ottimizzazione
(anteprima)
0,5 - 15,000 - -
1 - 15,000 - -
3 - 15,000 30,000 -
6 - 15,000 30,000 -
12 15,000 30,000 75,000 -
24 30,000 75,000 150,000 -
60 75,000 150,000 200,000 -
120 150,000 200,000 200,000 -
180 * 200,000 200,000 200,000 -
240 * 200,000 200,000 200,000 75,000
360 * 200,000 200,000 200,000 -
480 * 200,000 200,000 200,000 150,000
720 * 200,000 200,000 200,000 200,000
960 * 200,000 200,000 - 200,000
1440 * 200,000 - - 200,000
1920 * 200,000 - - 200,000
4500 * - - - 200,000

* Le dimensioni con un asterisco sono in anteprima pubblica.

Disponibilità elevata

Redis gestito di Azure offre disponibilità elevata. Il contratto di servizio copre solo la connettività agli endpoint cache. Il contratto di servizio non offre copertura per la protezione dalla perdita di dati. Per altre informazioni sul contratto di servizio, vedere il contratto di servizio. È possibile disabilitare la disponibilità elevata in un'istanza di Redis gestita di Azure. Questo riduce il prezzo, ma comporta perdita di dati e tempi di inattività. È consigliabile disabilitare solo la disponibilità elevata per scenari di sviluppo/test.

Altre considerazioni sui prezzi

Important

Azure Managed Redis Enterprise richiede un indirizzo IP per ogni istanza della cache. Attualmente, l'addebito per l'indirizzo IP viene assorbito da Azure Redis gestito e non viene trasferito ai clienti. Questo può cambiare in futuro. Per altre informazioni, vedere Prezzi degli indirizzi IP.

Important

L'uso della replica geografica attiva produce il trasferimento dei dati tra aree di Azure. Questi addebiti per la larghezza di banda sono attualmente assorbiti da Redis gestito di Azure e non vengono passati ai clienti. Ciò potrebbe cambiare in futuro. Per altre informazioni, vedere Prezzi della larghezza di banda.

Disponibilità per area

Redis Gestito di Azure si espande continuamente in nuove aree. Per verificare la disponibilità di un prodotto in base all'area geografica, vedere Prodotti disponibili in base all'area geografica.

Passaggio da Azure Cache per Redis

Per altre informazioni sulla migrazione da Cache Redis di Azure a Redis gestita di Azure, vedere Passare da Cache Redis di Azure a Redis gestita di Azure.