Avvio rapido: Usare la cache di Azure per Redis in Node.js
In questa guida di avvio rapido si incorpora Azure Cache for Redis in un'app Node.js per accedere a una cache sicura e dedicata accessibile da qualsiasi applicazione in Azure.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- node_redis, che è possibile installare con il comando
npm install redis
.
Per esempi relativi all'uso di altri client Node.js, vedere la documentazione specifica dei client Node.js disponibile in Node.js Redis clients(Client Redis Node.js).
Creare una cache
Per creare una cache, accedere al portale di Azure e selezionare Crea una risorsa.
Nella pagina Nuovo selezionare Database e quindi Cache di Azure per Redis.
Nella pagina Nuova cache Redis configurare le impostazioni per la nuova cache.
Impostazione Scegliere un valore Descrizione Abbonamento Nell'elenco a discesa selezionare la sottoscrizione. Sottoscrizione in cui creare la nuova istanza della cache di Azure per Redis. Gruppo di risorse Nell'elenco a discesa selezionare un gruppo di risorse oppure scegliere Crea nuovo e immettere il nome di un nuovo gruppo di risorse. Nome del gruppo di risorse in cui creare la cache e altre risorse. L'inserimento di tutte le risorse di un'app in un unico gruppo di risorse ne semplifica la gestione o l'eliminazione. Nome DNS Immettere un nome univoco. Il nome della cache deve essere una stringa compresa tra 1 e 63 caratteri contenente solo numeri, lettere o trattini. Il nome deve iniziare e terminare con un numero o una lettera e non può contenere trattini consecutivi. Il nome host dell'istanza della cache è <nome DNS>.redis.cache.windows.net. Location Nell'elenco a discesa selezionare una località. Selezionare un'area in prossimità di altri servizi che useranno la cache. Tipo di cache Nell’elenco a discesa selezionare un livello. Il livello determina le dimensioni, le prestazioni e le funzionalità disponibili per la cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure. Selezionare la scheda Rete o selezionare il pulsante Rete nella parte inferiore della pagina.
Nella scheda Rete selezionare il metodo di connettività.
Selezionare la scheda Avanti: Avanzate oppure selezionare il pulsante Avanti: Avanzate nella parte inferiore della pagina per visualizzare la scheda Avanzate.
- Per le cache Basic o Standard, attivare o disattivare la selezione per una porta non TLS. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
- Per una cache Premium, configurare le impostazioni per la porta non TLS, il clustering, l'identità gestita e la persistenza dei dati. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
Selezionare la scheda Avanti: Tag oppure selezionare il pulsante Avanti: Tag nella parte inferiore della pagina.
Facoltativamente, nella scheda Tag immettere il nome e il valore se si vuole categorizzare la risorsa.
Selezionare Rivedi e crea. Si viene reindirizzati alla scheda Rivedi e crea in cui Azure convalida la configurazione.
Quando viene visualizzato il messaggio di convalida verde, selezionare Crea.
La creazione di una cache richiede un po' di tempo. È possibile monitorare lo stato di avanzamento nella pagina Panoramica della cache di Azure per Redis. Quando l'elemento Stato indica In esecuzione, la cache è pronta per l'uso.
Recuperare il nome host, le porte e le chiavi di accesso dal portale di Azure
Per connettere il server cache di Azure per Redis, il client della cache richiede il nome host, le porte e una chiave per la cache. Alcuni client possono fare riferimento a questi elementi usando nomi leggermente diversi. È possibile ottenere il nome host, le porte e le chiavi dal portale di Azure.
Per ottenere le chiavi di accesso, selezionare Chiavi di accesso nel riquadro di spostamento di sinistra della cache.
Per ottenere il nome host e le porte, selezionare Proprietà nel riquadro di spostamento di sinistra della cache. Il nome host è del formato <nome> DNS.redis.cache.windows.net.
Aggiungere le variabili di ambiente per il nome host e la chiave di accesso primaria. Usare queste variabili dal codice invece di includere le informazioni riservate direttamente nel codice.
set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
set AZURE_CACHE_FOR_REDIS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Connettersi alla cache
Le build più recenti di node_redis offrono il supporto di diverse opzioni di connessione. Non creare un nuova connessione per ogni operazione nel codice. Riutilizzare invece le connessioni quanto più possibile.
Creare una nuova app Node.js
Creare un nuovo file script denominato redistest.js.
Usare il comando per installare un pacchetto Redis.
`npm install redis`
Aggiungere lo script JavaScript di esempio seguente al file.
const redis = require("redis"); // Environment variables for cache const cacheHostName = process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME; const cachePassword = process.env.AZURE_CACHE_FOR_REDIS_ACCESS_KEY; if(!cacheHostName) throw Error("AZURE_CACHE_FOR_REDIS_HOST_NAME is empty") if(!cachePassword) throw Error("AZURE_CACHE_FOR_REDIS_ACCESS_KEY is empty") async function testCache() { // Connection configuration const cacheConnection = redis.createClient({ // rediss for TLS url: `rediss://${cacheHostName}:6380`, password: cachePassword }); // Connect to Redis await cacheConnection.connect(); // PING command console.log("\nCache command: PING"); console.log("Cache response : " + await cacheConnection.ping()); // GET console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // SET console.log("\nCache command: SET Message"); console.log("Cache response : " + await cacheConnection.set("Message", "Hello! The cache is working from Node.js!")); // GET again console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // Client list, useful to see if connection list is growing... console.log("\nCache command: CLIENT LIST"); console.log("Cache response : " + await cacheConnection.sendCommand(["CLIENT", "LIST"])); // Disconnect cacheConnection.disconnect() return "Done" } testCache().then((result) => console.log(result)).catch(ex => console.log(ex));
Questo codice mostra come connettersi a un'istanza di Cache Redis di Azure usando il nome host della cache e le variabili di ambiente chiave. Il codice, inoltre, archivia e recupera un valore stringa nella cache. Vengono anche eseguiti i comandi
PING
eCLIENT LIST
. Per altri esempi relativi all'uso di Redis con il client node_redis, vedere https://redis.js.org/.Eseguire lo script con Node.js.
node redistest.js
Esempio dell'output.
Cache command: PING Cache response : PONG Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: SET Message Cache response : OK Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: CLIENT LIST Cache response : id=10017364 addr=76.22.73.183:59380 fd=221 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 ow=0 owmem=0 events=r cmd=client user=default numops=6 Done
Pulire le risorse
Se si continua con l'esercitazione successiva, è possibile mantenere le risorse create in questa guida introduttiva e riutilizzarle. In caso contrario, se l'applicazione di esempio di avvio rapido è stata completata, è possibile eliminare le risorse di Azure create in questa guida introduttiva per evitare addebiti.
Importante
L'eliminazione di un gruppo di risorse è irreversibile e comporta l'eliminazione definitiva del gruppo di risorse e di tutte le risorse incluse nel gruppo. Assicurarsi di non eliminare accidentalmente il gruppo di risorse sbagliato o le risorse errate. Se sono state create le risorse per l'hosting di questo esempio all'interno di un gruppo di risorse esistente contenente le risorse da conservare, è possibile eliminare ogni risorsa singolarmente anziché eliminare il gruppo di risorse.
Accedere al portale di Azure e selezionare Gruppi di risorse.
Nella casella di testo Filtra per nome immettere il nome del gruppo di risorse. Le istruzioni di questo articolo usano un gruppo di risorse denominato TestResources. Nel gruppo di risorse nell'elenco dei risultati selezionare ... e quindi Elimina gruppo di risorse.
Confermare l'eliminazione del gruppo di risorse. Immettere il nome del gruppo di risorse per confermare e selezionare Elimina.
Dopo qualche istante il gruppo di risorse e tutte le risorse che contiene vengono eliminati.
Scaricare il codice di esempio
Ottenere la guida introduttiva Node.js su GitHub.
Passaggi successivi
In questa guida introduttiva si è visto come usare Cache Redis di Azure da un'applicazione Node.js. Continuare con la guida introduttiva successiva per usare Cache Redis di Azure con un'app Web ASP.NET.