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:
- Aprire un account di Azure gratuitamente: sono inclusi crediti da usare per provare i servizi di Azure a pagamento. Una volta esauriti i crediti, è possibile mantenere l'account e usare le funzionalità e i servizi di Azure gratuiti.
- Attivare i vantaggi di sottoscrittore di Visual Studio. con l'abbonamento MSDN ogni mese si accumulano crediti che è possibile usare per i servizi di Azure a pagamento.
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
AbortOnConnectFailsu false per permettere a StackExchange.Redis di riconnettersi. - Usare una sola istanza
ConnectionMultiplexerdi lunga durata anziché creare una nuova connessione per ogni richiesta. - Impostare la proprietà
ConnectionMultiplexer.ClientNamesu un nome univoco dell'istanza dell'app per finalità di diagnostica. - Usare più istanze di
ConnectionMultiplexerper 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à
ClientNamein 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.