Come usare Cache Redis di Azure con Node.js

Cache Redis di Azure consente di accedere a una cache Redis sicura e dedicata, gestita da Microsoft. È possibile accedere alla cache da qualsiasi applicazione in Microsoft Azure.

Questo argomento descrive come usare Cache Redis di Azure con Node.js.

Prerequisiti

Installare node_redis:

npm install redis

Questa esercitazione usa node_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 Redis in Azure

Per creare una cache, accedere al portale di Azure e fare clic su Nuovo > Database > Cache Redis.

Nota

Se non si ha un account Azure, è possibile creare un account Azure gratuito in pochi minuti.

New cache

Nota

Oltre a creare cache nel portale di Azure, è possibile crearle usando modelli di Resource Manager, PowerShell o l'interfaccia della riga di comando di Azure.

Nel pannello Nuova cache Redis specificare la configurazione desiderata per la cache.

Create cache

  • In Nome DNSimmettere il nome univoco di una cache da usare per l'endpoint della cache. Il nome della cache deve essere una stringa contenente da 1 a 63 caratteri che possono includere solo numeri, lettere e il carattere - . Il nome della cache non può iniziare o terminare con il carattere - e i caratteri - consecutivi non sono validi.
  • Per Sottoscrizioneselezionare la sottoscrizione di Azure da usare per la cache. Se l'account ha una sola sottoscrizione, questa verrà selezionata automaticamente e l'elenco a discesa Sottoscrizione non verrà visualizzato.
  • In Gruppo di risorseselezionare o creare un gruppo di risorse per la cache. Per altre informazioni, vedere Uso di gruppi di risorse per gestire le risorse di Azure.
  • Usare Posizione per specificare la posizione geografica in cui viene ospitata la cache. Per prestazioni ottimali, è consigliabile creare la cache nella stessa area dell'applicazione client della cache.
  • Usare Piano tariffario per selezionare le dimensioni e le funzionalità desiderate per la cache.
  • cluster Redis consente di creare cache con dimensioni maggiori di 53 GB e di partizionare i dati su più nodi Redis. Per altre informazioni, vedere Come configurare il clustering per una Cache Redis di Azure Premium.
  • Persistenza Redis consente di rendere la cache persistente in un account di archiviazione di Azure. Per istruzioni su come configurare la persistenza, vedere Come configurare la persistenza per una Cache Redis di Azure Premium.
  • Rete virtuale fornisce isolamento e protezione avanzati limitando l'accesso alla cache ai soli client che si trovano all'interno della rete virtuale di Azure specificata. È possibile utilizzare tutte le funzionalità di rete virtuale, ad esempio subnet, i criteri di controllo di accesso e altre funzionalità per limitare ulteriormente l'accesso a Redis. Per altre informazioni, vedere Come configurare il supporto di una rete virtuale per una Cache Redis di Azure Premium.
  • Per le nuove cache la porta senza SSL è disabilitata per impostazione predefinita. Per abilitare la porta non SSL, selezionare Sblocca la porta 6379 (senza crittografia SSL).

Dopo aver configurato le opzioni della nuova cache, fare clic su Crea. La creazione della cache può richiedere alcuni minuti. Per verificare lo stato, è possibile monitorare l'avanzamento nella Schermata iniziale. Lo stato della cache dopo la creazione sarà In esecuzione e sarà possibile usarla subito con le impostazioni predefinite.

Cache created

Recuperare il nome host e le chiavi di accesso

Per connettersi a un'istanza Cache Redis di Azure, è necessario specificare il nome host, le porte e le chiavi della cache. Alcuni client possono fare riferimento a questi elementi usando nomi leggermente diversi. È possibile recuperare queste informazioni nel portale di Azure o usando strumenti da riga di comando come l'interfaccia della riga di comando di Azure.

Recuperare il nome dell'host, le porte e le chiavi di accesso usando il portale di Azure

Per recuperare il nome dell'host, le porte e le chiavi di accesso usando il portale di Azure, passare alla cache nel portale di Azure e scegliere Chiavi di accesso e Proprietà dal menu Risorsa.

Impostazioni della Cache Redis

Recuperare il nome dell'host, le porte e le chiavi di accesso usando l'interfaccia della riga di comando di Azure

Per recuperare il nome dell'host e le porte usando l'interfaccia della riga di comando di Azure 2.0, è possibile chiamare az redis show e per recuperare le chiavi è possibile chiamare az redis list-keys. Lo script seguente chiama questi due comandi e restituisce il nome dell'host, le porte e le chiavi alla console.

#/bin/bash

# Retrieve the hostname, ports, and keys for contosoCache located in contosoGroup

# Retrieve the hostname and ports for an Azure Redis Cache instance
redis=($(az redis show --name contosoCache --resource-group contosoGroup --query [hostName,enableNonSslPort,port,sslPort] --output tsv))

# Retrieve the keys for an Azure Redis Cache instance
keys=($(az redis list-keys --name contosoCache --resource-group contosoGroup --query [primaryKey,secondaryKey] --output tsv))

# Display the retrieved hostname, keys, and ports
echo "Hostname:" ${redis[0]}
echo "Non SSL Port:" ${redis[2]}
echo "Non SSL Port Enabled:" ${redis[1]}
echo "SSL Port:" ${redis[3]}
echo "Primary Key:" ${keys[0]}
echo "Secondary Key:" ${keys[1]}

Per altre informazioni su questo script, vedere Get the hostname, ports, and keys for Azure Redis Cache (Recuperare il nome dell'host, le porte e le chiavi per Cache Redis di Azure). Per altre informazioni sull'interfaccia della riga di comando di Azure 2.0, vedere Install Azure CLI 2.0 (Installare l'interfaccia della riga di comando di Azure 2.0) e Get started with Azure CLI 2.0 (Introduzione all'interfaccia della riga di comando di Azure 2.0).

Connettersi in modo sicuro alla cache usando SSL

Le build più recenti di node_redis offrono il supporto per la connessione a Cache Redis di Azure con SSL. L'esempio seguente mostra come connettersi a Cache Redis di Azure usando l'endpoint SSL 6380. Sostituire <name> con il nome della cache e <key> con la chiave primaria o secondaria, come illustrato nella sezione Recuperare il nome host e le chiavi di accesso precedente.

 var redis = require("redis");

  // Add your cache name and access key.
var client = redis.createClient(6380,'<name>.redis.cache.windows.net', {auth_pass: '<key>', tls: {servername: '<name>.redis.cache.windows.net'}});

Nota

Per le nuove istanze della Cache Redis di Azure la porta non SSL è disabilitata. Se si usa un client diverso che non supporta SSL, vedere Come abilitare la porta non SSL.

Aggiungere dati alla cache e recuperarli

L'esempio seguente mostra come connettersi a un'istanza di Cache Redis di Azure e come archiviare e recuperare un elemento dalla cache. Per altri esempi relativi all'uso di Redis con il client node_redis, vedere http://redis.js.org/.

 var redis = require("redis");

  // Add your cache name and access key.
var client = redis.createClient(6380,'<name>.redis.cache.windows.net', {auth_pass: '<key>', tls: {servername: '<name>.redis.cache.windows.net'}});

client.set("key1", "value", function(err, reply) {
        console.log(reply);
    });

client.get("key1",  function(err, reply) {
        console.log(reply);
    });

Output:

OK
value

Passaggi successivi