Condividi tramite


FAQ Sviluppo con Managed Redis di Azure

Questo articolo fornisce risposte a domande comuni sull'attività di sviluppo per Managed Redis di Azure.

Come iniziare a usare Managed Redis di Azure?

Esistono diversi modi per iniziare a usare Managed Redis di Azure.

  • È possibile consultare una delle esercitazioni disponibili per .NET, Java, Node.jse Python.
  • È possibile esplorare i percorsi di apprendimento di Redis di Azure
  • È possibile consultare la documentazione del client per client di esempio in cui viene usato lo stesso linguaggio di sviluppo usato nel progetto. Esistono molti client Redis che è possibile usare con Managed Redis di Azure. Per un elenco dei client Redis, vedere https://redis.io/clients.

Se non si dispone di un account Azure, è possibile:

Qual è la funzione delle opzioni di configurazione StackExchange.Redis?

StackExchange.Redis include diverse opzioni. Questa sezione illustra alcune impostazioni comuni. Per informazioni più dettagliate sulle opzioni StackExchange.Redis, vedere la pagina relativa alla configurazione di StackExchange.Redis.

ConfigurationOptions Descrizione Raccomandazione
AbortOnConnectFail Se impostata su true, la connessione non viene ristabilita dopo un errore di rete. Impostare su false, per permettere a StackExchange.Redis di riconnettersi automaticamente.
ConnectRetry Numero di nuovi tentativi di connessione durante la connessione iniziale. Per indicazioni, vedere le note seguenti.
ConnectTimeout Timeout in millisecondi per le operazioni di connessione. Per indicazioni, vedere le note seguenti.

Nella maggior parte dei casi sono sufficienti i valori predefiniti del client. È possibile ottimizzare le opzioni in base al carico di lavoro specifico.

Tentativi

  • Per ConnectRetry e ConnectTimeout è in genere consigliabile fallire e rispondere immediatamente agli errori e riprovare, in base al carico di lavoro specifico e al tempo mediamente necessario per l'invio di un comando Redis da parte del client e la ricezione di una risposta.
  • Permettere la connessione automatica di StackExchange.Redis invece di controllare lo stato di connessione ed eseguire manualmente la riconnessione. Evitare di usare la proprietà ConnectionMultiplexer.IsConnected.
  • In alcuni casi potrebbe verificarsi un problema che genera nuovi tentativi a catena, senza possibilità di ripristino. In questa situazione, considerare l'uso di un algoritmo di ripetizione con backoff esponenziale, come descritto in Indicazioni generali per la ripetizione di tentativi pubblicato dal gruppo Microsoft Patterns & Practices.

Valori di timeout

  • Esaminare il carico di lavoro e impostare i valori adeguati. Se si archiviano valori di grandi dimensioni, impostare il timeout su un valore più elevato.
  • Impostare AbortOnConnectFail su false per permettere a StackExchange.Redis di riconnettersi.
  • Usare una sola istanza ConnectionMultiplexer di lunga durata anziché creare una nuova connessione per ogni richiesta.
  • Impostare la proprietà ConnectionMultiplexer.ClientName su un nome univoco dell'istanza dell'app per finalità di diagnostica.
  • Usare più istanze di ConnectionMultiplexer per carichi di lavoro personalizzati.
    • È possibile seguire questo modello se l'applicazione include carichi variabili. Per esempio:
    • È possibile avere un multiplexer per la gestione di chiavi di grandi dimensioni.
    • È possibile avere un multiplexer per la gestione di chiavi di piccole dimensioni.
    • È possibile impostare valori diversi per i timeout di connessione e la logica di ripetizione dei tentativi per ogni ConnectionMultiplexer usato.
    • Impostare la proprietà ClientName in ogni multiplexer per semplificare la diagnostica.
    • Questa guida potrebbe comportare una latenza più semplificata per ConnectionMultiplexer.

Quali client Redis è possibile usare?

Uno dei principali vantaggi di Redis è la presenza di numerosi client che supportano linguaggi di sviluppo diversi. Per un elenco aggiornato dei client, vedere l'articolo relativo ai client Redis.

Esiste un emulatore locale per Managed Redis di Azure?

Non esiste un emulatore locale per Managed Redis di Azure. È tuttavia possibile eseguire una copia di Redis della community nel computer locale e connettersi a essa per ottenere un'esperienza simile a un emulatore di cache locale, come illustrato nell'esempio seguente:

private static Lazy<ConnectionMultiplexer>
    lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
    {
        // Connect to a locally running instance of Redis to simulate
        // a local cache emulator experience.
        return ConnectionMultiplexer.Connect("127.0.0.1:6379");
    });

public static ConnectionMultiplexer Connection
{
    get
    {
        return lazyConnection.Value;
    }
}

Redis viene eseguito in modalità nativa in Linux, ma è anche possibile usare un sottosistema Windows per Linux per eseguire Redis in un computer Windows. Per altre informazioni, vedere Installare Redis in Windows

Come si eseguono i comandi Redis?

È possibile usare uno dei comandi elencati in Comandi Redis, ad eccezione dei comandi elencati in Comandi Redis non supportati in Managed Redis di Azure. Per eseguire i comandi di Redis sono disponibili diverse opzioni.

È anche possibile usare gli strumenti da riga di comando di Redis. Per usarli, vedere Usare lo strumento da riga di comando Redis con Managed Redis di Azure

Perché per Managed Redis di Azure non è disponibile un riferimento alla libreria di classi MSDN?

Managed Redis di Microsoft Azure è basato sul noto archivio dati in memoria, Redis. È possibile usare un'ampia gamma di client Redis per molti linguaggi di programmazione. Ogni client include un'API che effettua chiamate all'istanza di Managed Redis di Azure usando i comandi Redis.

Dal momento che ogni client è diverso, non è possibile trovare informazioni di riferimento centralizzate sulle classi in MSDN. Ogni client gestisce la propria documentazione di riferimento. Oltre alla documentazione di riferimento, sono disponibili alcune esercitazioni che spiegano come iniziare a usare Managed Redis di Azure con linguaggi e client cache diversi.

Cosa sono i database Redis?

I database Redis sono semplicemente una separazione logica dei dati nella stessa istanza Redis. La memoria cache viene condivisa tra tutti i database e il consumo effettivo della memoria di un determinato database dipende da chiavi/valori memorizzati nel database. Al momento, Managed Redis di Azure supporta solo un database per istanza.