Configurare Cache Redis di Azure
È possibile creare una cache Redis con il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell.
Creare e configurare un'istanza della cache di Azure per Redis
Per configurare correttamente la cache per gli scopi desiderati, è necessario impostare vari parametri.
Nome
La cache Redis deve avere un nome univoco a livello globale. Il nome deve essere univoco all'interno di Azure perché viene usato per generare un URL pubblico per connettersi e comunicare con il servizio.
Il nome deve contenere da 1 a 63 caratteri, che possono includere numeri, lettere e il carattere "-". Il nome della cache non può iniziare o terminare con il carattere '-' e più caratteri '-' consecutivi non sono validi.
Ufficio
Posizionare sempre l'istanza della cache e l'applicazione nella stessa area. La connessione a una cache in un'area diversa può aumentare in modo significativo la latenza e ridurre l'affidabilità. Se ci si connette alla cache all'esterno di Azure, selezionare una posizione vicina alla località in cui è in esecuzione l'applicazione che utilizza i dati.
Tipo di cache
Il livello determina le dimensioni, le prestazioni e le funzionalità disponibili per la cache. Per altre informazioni, visitare Prezzi di cache di Azure per Redis.
Suggerimento
È consigliabile usare sempre il livello Standard o superiore per i sistemi di produzione. Il livello Basic è un sistema a nodo singolo senza replica dei dati e contratto di servizio.
Supporto del clustering
Con i livelli Premium, Enterprise ed Enterprise Flash è possibile implementare il clustering per suddividere automaticamente il set di dati tra più nodi. Per implementare il clustering, specificare il numero di partizioni fino a un massimo di 10. Il costo addebitato è il costo del nodo originale moltiplicato per il numero di partizioni.
Accesso all'istanza di Redis
Redis include uno strumento da riga di comando per l'interazione con un cache di Azure per Redis come client. Lo strumento è disponibile per le piattaforme Windows scaricando gli strumenti da riga di comando Redis per Windows. Se si vuole eseguire lo strumento da riga di comando su un'altra piattaforma, scaricare Cache Redis di Azure da https://redis.io/download.
Redis supporta un set di comandi noti. Un comando viene in genere eseguito come COMMAND parameter1 parameter2 parameter3
.
Ecco alcuni comandi comuni che è possibile usare:
Comando | Descrizione |
---|---|
ping |
Consente di effettuare il ping del server. Restituisce PONG . |
set [key] [value] |
Consente di impostare una coppia chiave/valore nella cache. Restituisce "OK" in caso di esito positivo. |
get [key] |
Consente di ottenere un valore dalla cache. |
exists [key] |
Restituisce "1" se la chiave esiste nella cache, altrimenti restituisce "0". |
type [key] |
Restituisce il tipo associato al valore per la chiave specificata. |
incr [key] |
Incrementa di "1" il valore specifico associato alla chiave. Il valore deve essere un numero intero o di tipo double. Restituisce il nuovo valore. |
incrby [key] [amount] |
Incrementa il valore specifico associato alla chiave in base alla quantità indicata. Il valore deve essere un numero intero o di tipo double. Restituisce il nuovo valore. |
del [key] |
Elimina il valore associato alla chiave. |
flushdb |
Consente di eliminare ogni chiave e valore nel database. |
Di seguito è riportato un esempio di un comando:
> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0
Aggiunta di una scadenza ai valori
La memorizzazione nella cache è importante perché consente di archiviare in memoria i valori più usati. È tuttavia necessario anche un modo per imporre la scadenza dei valori quando sono obsoleti. In Redis i valori di scadenza si ottengono applicando una durata (TTL) a una chiave.
Allo scadere del valore TTL, la chiave viene eliminata automaticamente, esattamente come se fosse stato eseguito il comando DEL. Ecco alcune note sulle scadenze del valore TTL.
- Le scadenze possono essere impostate con una precisione a livello di secondi o millisecondi.
- La risoluzione dell'ora di scadenza è sempre pari a 1 millisecondo.
- Le informazioni sulle scadenze vengono replicate e salvate in modo permanente su disco. Il tempo trascorre effettivamente quando il server Redis mantiene lo stato arrestato (questo significa che Redis salva la data di scadenza della chiave).
Ecco un esempio di scadenza:
> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)
Accesso a un'istanza di Cache Redis da un client
Per connettersi a un'istanza della cache di Azure per Redis, è necessario specificare varie informazioni. I client devono conoscere il nome host, la porta e la chiave di accesso per la cache. È possibile recuperare queste informazioni nel portale di Azure tramite la pagina Impostazioni > Chiavi di accesso.
Il nome host è l'indirizzo Internet pubblico della cache, creato usando il nome della cache. Ad esempio:
sportsresults.redis.cache.windows.net
.La chiave di accesso funge da password per la cache. Vengono create due chiavi, una primaria e una secondaria. È possibile usare una delle due chiavi. Ne vengono forniti due nel caso in cui sia necessario modificare la chiave primaria. È possibile passare tutti i client alla chiave secondaria e rigenerare la chiave primaria. Questa operazione blocca eventuali applicazioni che usano la chiave primaria originale. Microsoft consiglia di rigenerare periodicamente le chiavi, analogamente alle password personali.
Avviso
Le chiavi di accesso devono essere considerate informazioni riservate, proprio come una password. Chiunque abbia una chiave di accesso può eseguire qualsiasi operazione sulla cache.