Compartir a través de


Inicio rápido: Uso de Azure Redis en Node.js

En este inicio rápido, incorporará Azure Managed Redis o Azure Cache for Redis en una aplicación Node.js. La aplicación tiene acceso a una caché dedicada segura a la que se puede acceder desde cualquier aplicación de Azure.

Prerrequisitos

Creación de una instancia de Azure Managed Redis

  1. Para crear una instancia de Azure Managed Redis, inicie sesión en Azure Portal y seleccione Crear un recurso.

  2. En la página Nuevo, en el cuadro de búsqueda, escriba Azure Cache for Redis.

  3. En la pestaña Nueva Caché de Redis, configure las opciones de la nueva caché en Básicos.

    Configuración Elegir un valor Descripción
    Suscripción Desplácese hacia abajo y seleccione su suscripción. La suscripción en la que se va a crear esta nueva instancia de Azure Managed Redis.
    Grupo de recursos Desplácese hacia abajo y seleccione un grupo de recursos o Crear nuevo y escriba un nombre nuevo para el grupo de recursos. Nombre del grupo de recursos en el que se van a crear la caché y otros recursos. Al colocar todos los recursos de la aplicación en un grupo de recursos, puede administrarlos o eliminarlos fácilmente.
    Nombre Escriba un nombre que sea único en la región. El nombre de la memoria caché debe ser una cadena de entre 1 y 63 caracteres combinada con el nombre de la región de la memoria caché que contenga solo números, letras o guiones. (Si el nombre de la caché tiene menos de 45 caracteres, debe funcionar en todas las regiones disponibles actualmente). El nombre debe comenzar y terminar por un número o una letra y no puede contener guiones consecutivos. El nombre de host de la instancia de caché es \<DNS name\>.\<Azure region\>.redis.azure.net.
    Región Desplácese hacia abajo y seleccione una ubicación. Azure Managed Redis está disponible en las regiones de Azure seleccionadas.
    Nivel de datos Seleccione En memoria para alto rendimiento o Flash para cachés de menor rendimiento. Los niveles en memoria incluyen Equilibrado, Optimizado para memoria y Optimizado para proceso. Use el nivel Flash para usar el almacenamiento de datos en memoria (RAM) y en disco (SSD).
    Tamaño de la caché Seleccione una SKU en la lista desplegable. El tamaño de la caché depende del nivel. El tamaño más pequeño es un nivel equilibrado. El tamaño más grande del nivel en memoria es un nivel optimizado para memoria.
    Rendimiento Seleccione una preferencia de rendimiento en la lista desplegable. El rendimiento depende del número de vCPU. El número de vCPU varía con el nivel. Compute Optimized tiene la mayoría de las vCPU.

    Para obtener instrucciones sobre cómo elegir el nivel de rendimiento adecuado, consulte Elección del nivel correcto.

    Importante

    Todos los niveles en memoria que usan más de 120 GB de almacenamiento se encuentran en versión preliminar pública, incluido el M150 optimizado para memoria y versiones posteriores; el B150 equilibrado y versiones posteriores; y el X150 optimizado para cómputo y versiones posteriores. Todos estos niveles y superiores se encuentran en versión preliminar pública.

    Todos los niveles optimizados para Flash están en versión preliminar pública.

  4. Seleccione Siguiente: Redes y seleccione un punto de conexión público o un punto de conexión privado.

  5. Seleccione Siguiente: Replicación geográfica activa. Para usar la replicación geográfica activa, debe habilitarse durante el aprovisionamiento. Las memorias caché sin replicación geográfica activa no se pueden agregar ni unirse a grupos de replicación geográfica activos más adelante. Para obtener más información, consulte Configuración de la replicación geográfica activa para instancias de Azure Managed Redis.

  6. Seleccione la pestaña Siguiente: Avanzadas .

    Configure los módulos de Redis que quiera agregar a la instancia.

    De forma predeterminada, para una nueva caché administrada:

    • Microsoft Entra ID está habilitado.
    • La autenticación mediante claves de acceso está deshabilitada por motivos de seguridad.

    Importante

    Para obtener una seguridad óptima, se recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes en la memoria caché, si es posible. La autorización mediante Microsoft Entra ID y las identidades administradas proporciona mayor seguridad y facilidad de uso a través de la autorización de claves de acceso compartido. Para obtener más información sobre el uso de identidades administradas con la memoria caché, consulte Uso de Microsoft Entra ID para la autenticación de caché.

    Establecer directiva de agrupación en clústeres:

    • Uso de Enterprise para usar RedisSearch u otros módulos
    • Utiliza OSS para una caché agrupada.
    • Utilice No Agrupado (Versión Preliminar) para una caché no agrupada.

    Para obtener más información sobre cómo elegir Directiva de agrupación en clústeres, consulte directiva de clúster.

    Importante

    No se puede cambiar la directiva de agrupación en clústeres de una instancia de Azure Managed Redis después de crearla. Si usa RediSearch, se requiere la directiva de clúster Enterprise y NoEviction es la única directiva de expulsión admitida.

    Importante

    Si usa esta instancia de caché en un grupo de replicación geográfica, las directivas de expulsión no se pueden cambiar después de crear la instancia. Asegúrese de conocer las directivas de expulsión de los nodos principales antes de crear la caché. Para obtener más información sobre la replicación geográfica activa, consulte Requisitos previos de replicación geográfica activa.

    Importante

    No se pueden cambiar los módulos después de crear una instancia de caché. Los módulos deben estar habilitados en el momento de crear una instancia de Azure Cache for Redis. No hay ninguna opción para habilitar la configuración de un módulo después de crear una memoria caché.

  7. Seleccione Siguiente: Etiquetas y omítalo.

  8. Seleccione Siguiente: Revisar y crear.

  9. Revise la configuración y seleccione Crear.

    La instancia de Redis tarda varios minutos en crearse. Puede supervisar el progreso en la página Información general de Azure Managed Redis. Cuando Estado se muestra como En ejecución, la memoria caché está lista para su uso.

Creación de una instancia de Azure Redis Cache

  1. En Azure Portal, busque y seleccione Azure Cache for Redis.

  2. En la página Azure Cache for Redis , seleccione Crear>Azure Cache for Redis.

  3. En la pestaña Aspectos básicos de la página Nueva caché de Redis , configure los valores siguientes:

    • Suscripción: seleccione la suscripción que vaya a usar.
    • Grupo de recursos: seleccione un grupo de recursos o seleccione Crear nuevo y escriba un nuevo nombre de grupo de recursos. Colocar todos los recursos de la aplicación en el mismo grupo de recursos le permite administrarlos o eliminarlos fácilmente.
    • Nombre: escriba un nombre de caché que sea único en la región. El nombre debe:
      • Ser una cadena de 1 a 63 caracteres.
      • Solo contienen números, letras y guiones.
      • Comience y termine con un número o letra.
      • No contienen guiones consecutivos.
    • Región: seleccione una región de Azure cerca de otros servicios que usen la memoria caché.
    • SKU de caché: seleccione una SKU para determinar los tamaños, el rendimiento y las características disponibles de la memoria caché.
    • Tamaño de caché: seleccione un tamaño de caché. Para más información, consulte la introducción a Azure Cache for Redis.

    Captura de pantalla que muestra la pestaña Base de la página de Nueva Caché de Redis.

  4. Seleccione la pestaña Redes o seleccione Siguiente: Redes.

  5. En la pestaña Redes, seleccione un método de conectividad que se usará para la memoria caché. Se recomienda un punto de conexión privado para la seguridad. Si selecciona Punto de conexión privado, seleccione Agregar punto de conexión privado y cree el punto de conexión privado.

  6. Seleccione la pestaña Avanzadas o seleccione Siguiente: Avanzadas.

  7. En el panel Opciones avanzadas , configure las siguientes opciones:

    • Seleccione Autenticación de Microsoft Entra o Autenticación de claves de acceso. La autenticación de Microsoft Entra está habilitada de forma predeterminada.
    • Elija si habilitar el puerto que no es TLS.
    • Para una caché Premium, puede configurar o deshabilitar zonas de disponibilidad. No puede deshabilitar las zonas de disponibilidad una vez creada la caché. En el caso de una caché estándar, las zonas de disponibilidad se asignan automáticamente. Las zonas de disponibilidad no están disponibles para la SKU básica.
    • Para una caché Premium, configure los valores de Recuento de réplicas, Agrupación en clústeres y recuento de particiones, identidad administrada asignada por el sistema y Persistencia de datos.

    En la imagen siguiente se muestra la pestaña Avanzadas de la SKU estándar.

    Captura de pantalla que muestra el panel Avanzado para una caché de SKU estándar.

    Importante

    Use Microsoft Entra ID con identidades administradas para autorizar solicitudes en la memoria caché si es posible. La autorización con el identificador y la identidad administrada de Microsoft Entra proporcionan una mejor seguridad y es más fácil de usar que la autorización de clave de acceso compartido. Para obtener más información sobre el uso de identidades administradas con la memoria caché, consulte Uso de Microsoft Entra ID para la autenticación de caché.

  8. Opcionalmente, seleccione la pestaña Etiquetas o seleccione Siguiente: Etiquetas y escriba los nombres de etiqueta y los valores para clasificar los recursos de caché.

  9. Seleccione Revisar y crear y, una vez superada la validación, seleccione Crear.

La nueva implementación de caché tarda varios minutos. Puede supervisar el progreso de la implementación en la página Azure Cache for Redis del portal. Cuando el estado de la caché muestra En ejecución, la memoria caché está lista para usarse.

Instalación de la biblioteca cliente de node-redis

La biblioteca de node-redis es el principal cliente de Node.js para Redis. Puede instalar el cliente con npm mediante el comando siguiente:

npm install redis

Creación de una aplicación de Node.js para acceder a una memoria caché

Cree una aplicación Node.js que use microsoft Entra ID o claves de acceso para conectarse a una instancia de Azure Managed Redis. Se recomienda usar Microsoft Entra ID.

Uso de la autenticación de Microsoft Entra ID en la memoria caché

Las cachés de Redis administradas de Azure tienen habilitada la autenticación de Microsoft Entra de forma predeterminada.

  1. En Azure Portal, seleccione la memoria caché en la que desea usar la autenticación basada en tokens de Microsoft Entra.

  2. Seleccione Autenticación en el menú Recurso.

  3. Seleccione Seleccionar miembro y escriba el nombre de un usuario válido. Al usuario que escriba se le asigna automáticamente una directiva de acceso del propietario de datos de forma predeterminada al seleccionar Guardar. También puede escribir una identidad administrada o una entidad de servicio para conectarse a la instancia de caché.

    Captura de pantalla que muestra la autenticación seleccionada en el menú de recursos y la habilitación de la autenticación de Microsoft Entra activada.

Para más información sobre el uso de Microsoft Entra ID con la CLI de Azure, consulte las páginas de referencias para la identidad.

Instalación de la biblioteca cliente de Azure Identity de JavaScript

La Biblioteca de autenticación de Microsoft (MSAL) le permite adquirir tokens de seguridad de la identidad de Microsoft para autenticar usuarios. Existe una biblioteca cliente de identidad de Azure en JavaScript disponible que usa MSAL para proporcionar compatibilidad con la autenticación por token. Instale esta biblioteca utilizando npm:

npm install @azure/identity

Creación de una nueva aplicación de Node.js usando Microsoft Entra ID

  1. Agregue variables de entorno para su Nombre de host e Id. de entidad de servicio, que es el id. de objeto de su entidad de servicio o usuario de Microsoft Entra ID. En Azure Portal, busque el nombre de usuario.

    set AZURE_MANAGED_REDIS_HOST_NAME=contosoCache
    set REDIS_SERVICE_PRINCIPAL_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
  2. Cree un nuevo archivo de script llamado redistest.js.

  3. Agregue el siguiente ejemplo de JavaScript en el archivo. Este código muestra cómo conectarse a una instancia de Azure Managed Redis mediante el nombre de host de caché y las variables de entorno clave. El código también almacena y recupera un valor de cadena en la memoria caché. También se ejecutan los comandos PING y CLIENT LIST. Para ver otros ejemplos sobre el uso de Redis con el cliente de node_redis, consulte https://redis.js.org/.

    const { createClient } = require("redis");
    const { DefaultAzureCredential } = require("@azure/identity");
    
    async function main() {
      // Construct a Token Credential from Identity library, e.g. ClientSecretCredential / ClientCertificateCredential / ManagedIdentityCredential, etc.
      const credential = new DefaultAzureCredential();
      const redisScope = "https://redis.azure.com/.default";
    
      // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
      let accessToken = await credential.getToken(redisScope);
      console.log("access Token", accessToken);
    
      // Create redis client and connect to the Azure Cache for Redis over the TLS port using the access token as password.
      const cacheConnection = createClient({
        username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
        password: accessToken.token,
        url: `redis://${process.env.AZURE_MANAGED_REDIS_HOST_NAME}:10000`,
        pingInterval: 100000,
        socket: { 
          tls: true,
          keepAlive: 0 
        },
      });
    
      cacheConnection.on("error", (err) => console.log("Redis Client Error", err));
      await cacheConnection.connect();
    
      // PING command
      console.log("\nCache command: PING");
      console.log("Cache response : " + await cacheConnection.ping());
    
      // SET
      console.log("\nCache command: SET Message");
      console.log("Cache response : " + await cacheConnection.set("Message",
          "Hello! The cache is working from Node.js!"));
    
      // GET
      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"]));
    
      cacheConnection.disconnect();
    
      return "Done"
    }
    
    main().then((result) => console.log(result)).catch(ex => console.log(ex));
    
  4. Ejecute el script con Node.js.

    node redistest.js
    
  5. La salida del código tiene este aspecto.

    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
    

Creación de una aplicación de JavaScript de ejemplo con reautenticación

Los tokens de acceso de Microsoft Entra ID tienen una duración limitada, cuyo promedio es 75 minutos. Para mantener una conexión a la memoria caché, es preciso actualizar el token. En este ejemplo se muestra cómo hacerlo mediante JavaScript.

  1. Cree un nuevo archivo de script llamado redistestreauth.js.

  2. Agregue el siguiente ejemplo de JavaScript en el archivo.

     const { createClient } = require("redis");
     const { DefaultAzureCredential } = require("@azure/identity");
    
     async function returnPassword(credential) {
         const redisScope = "https://redis.azure.com/.default";
    
         // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
         return credential.getToken(redisScope);
     }
    
     async function main() {
       // Construct a Token Credential from Identity library, e.g. ClientSecretCredential / ClientCertificateCredential / ManagedIdentityCredential, etc.
       const credential = new DefaultAzureCredential();
       let accessToken = await returnPassword(credential);
    
       // Create redis client and connect to the Azure Cache for Redis over the TLS port using the access token as password.
       let cacheConnection = createClient({
         username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
         password: accessToken.token,
         url: `redis://${process.env.AZURE_MANAGED_REDIS_HOST_NAME}:10000`,
         pingInterval: 100000,
         socket: { 
           tls: true,
           keepAlive: 0 
         },
       });
    
       cacheConnection.on("error", (err) => console.log("Redis Client Error", err));
       await cacheConnection.connect();
    
       for (let i = 0; i < 3; i++) {
         try {
             // PING command
             console.log("\nCache command: PING");
             console.log("Cache response : " + await cacheConnection.ping());
    
             // SET
             console.log("\nCache command: SET Message");
             console.log("Cache response : " + await cacheConnection.set("Message",
                 "Hello! The cache is working from Node.js!"));
    
             // GET
             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"]));
           break;
         } catch (e) {
           console.log("error during redis get", e.toString());
           if ((accessToken.expiresOnTimestamp <= Date.now())|| (redis.status === "end" || "close") ) {
             await redis.disconnect();
             accessToken = await returnPassword(credential);
             cacheConnection = createClient({
               username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
               password: accessToken.token,
               url: `redis://${process.env.AZURE_MANAGED_REDIS_HOST_NAME}:10000`,
               pingInterval: 100000,
               socket: {
                 tls: true,
                 keepAlive: 0
               },
             });
           }
         }
       }
     }
    
     main().then((result) => console.log(result)).catch(ex => console.log(ex));
    
  3. Ejecute el script con Node.js.

    node redistestreauth.js
    
  4. La salida del código tiene este aspecto.

     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
    
    

Nota:

Para obtener ejemplos adicionales de uso de Microsoft Entra ID para autenticarse en Redis mediante la biblioteca de node-redis, consulte este repositorio de GitHub

Creación de una aplicación de Node.js para acceder a una memoria caché

Cree una aplicación de Node.js que use Microsoft Entra ID o claves de acceso para conectarse a una instancia de Azure Cache for Redis. Se recomienda usar Microsoft Entra ID.

Uso de la autenticación de Microsoft Entra ID en la memoria caché

Las cachés de Redis administradas de Azure tienen habilitada la autenticación de Microsoft Entra de forma predeterminada.

  1. En Azure Portal, seleccione la memoria caché en la que desea usar la autenticación basada en tokens de Microsoft Entra.

  2. Seleccione Autenticación en el menú Recurso.

  3. Seleccione Seleccionar miembro y escriba el nombre de un usuario válido. Al usuario que escriba se le asigna automáticamente una directiva de acceso del propietario de datos de forma predeterminada al seleccionar Guardar. También puede escribir una identidad administrada o una entidad de servicio para conectarse a la instancia de caché.

    Captura de pantalla que muestra la autenticación seleccionada en el menú de recursos y la habilitación de la autenticación de Microsoft Entra activada.

Para más información sobre el uso de Microsoft Entra ID con la CLI de Azure, consulte las páginas de referencias para la identidad.

Instalación de la biblioteca cliente de Azure Identity de JavaScript

La Biblioteca de autenticación de Microsoft (MSAL) le permite adquirir tokens de seguridad de la identidad de Microsoft para autenticar usuarios. Existe una biblioteca cliente de identidad de Azure en JavaScript disponible que usa MSAL para proporcionar compatibilidad con la autenticación por token. Instale esta biblioteca utilizando npm:

npm install @azure/identity

Creación de una nueva aplicación de Node.js usando Microsoft Entra ID

  1. Agregue variables de entorno para su Nombre de host e Id. de entidad de servicio, que es el id. de objeto de su entidad de servicio o usuario de Microsoft Entra ID. En Azure Portal, busque el nombre de usuario.

    set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
    set REDIS_SERVICE_PRINCIPAL_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    
  2. Cree un nuevo archivo de script llamado redistest.js.

  3. Agregue el siguiente ejemplo de JavaScript en el archivo. Este código muestra cómo conectarse a una instancia de Azure Redis Cache usando las variables de entorno de nombre de host de caché y clave. El código también almacena y recupera un valor de cadena en la memoria caché. También se ejecutan los comandos PING y CLIENT LIST. Para ver otros ejemplos sobre el uso de Redis con el cliente de node_redis, consulte https://redis.js.org/.

    const { createClient } = require("redis");
    const { DefaultAzureCredential } = require("@azure/identity");
    
    async function main() {
      // Construct a Token Credential from Identity library, e.g. ClientSecretCredential / ClientCertificateCredential / ManagedIdentityCredential, etc.
      const credential = new DefaultAzureCredential();
      const redisScope = "https://redis.azure.com/.default";
    
      // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
      let accessToken = await credential.getToken(redisScope);
      console.log("access Token", accessToken);
    
      // Create redis client and connect to the Azure Cache for Redis over the TLS port using the access token as password.
      const cacheConnection = createClient({
        username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
        password: accessToken.token,
        url: `redis://${process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME}:6380`,
        pingInterval: 100000,
        socket: { 
          tls: true,
          keepAlive: 0 
        },
      });
    
      cacheConnection.on("error", (err) => console.log("Redis Client Error", err));
      await cacheConnection.connect();
    
      // PING command
      console.log("\nCache command: PING");
      console.log("Cache response : " + await cacheConnection.ping());
    
      // SET
      console.log("\nCache command: SET Message");
      console.log("Cache response : " + await cacheConnection.set("Message",
          "Hello! The cache is working from Node.js!"));
    
      // GET
      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"]));
    
      cacheConnection.disconnect();
    
      return "Done"
    }
    
    main().then((result) => console.log(result)).catch(ex => console.log(ex));
    
  4. Ejecute el script con Node.js.

    node redistest.js
    
  5. La salida del código tiene este aspecto.

    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
    

Creación de una aplicación de JavaScript de ejemplo con reautenticación

Los tokens de acceso de Microsoft Entra ID tienen una duración limitada, cuyo promedio es 75 minutos. Para mantener una conexión a la memoria caché, es preciso actualizar el token. En este ejemplo se muestra cómo hacerlo mediante JavaScript.

  1. Cree un nuevo archivo de script llamado redistestreauth.js.

  2. Agregue el siguiente ejemplo de JavaScript en el archivo.

     const { createClient } = require("redis");
     const { DefaultAzureCredential } = require("@azure/identity");
    
     async function returnPassword(credential) {
         const redisScope = "https://redis.azure.com/.default";
    
         // Fetch a Microsoft Entra token to be used for authentication. This token will be used as the password.
         return credential.getToken(redisScope);
     }
    
     async function main() {
       // Construct a Token Credential from Identity library, e.g. ClientSecretCredential / ClientCertificateCredential / ManagedIdentityCredential, etc.
       const credential = new DefaultAzureCredential();
       let accessToken = await returnPassword(credential);
    
       // Create redis client and connect to the Azure Cache for Redis over the TLS port using the access token as password.
       let cacheConnection = createClient({
         username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
         password: accessToken.token,
         url: `redis://${process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME}:6380`,
         pingInterval: 100000,
         socket: { 
           tls: true,
           keepAlive: 0 
         },
       });
    
       cacheConnection.on("error", (err) => console.log("Redis Client Error", err));
       await cacheConnection.connect();
    
       for (let i = 0; i < 3; i++) {
         try {
             // PING command
             console.log("\nCache command: PING");
             console.log("Cache response : " + await cacheConnection.ping());
    
             // SET
             console.log("\nCache command: SET Message");
             console.log("Cache response : " + await cacheConnection.set("Message",
                 "Hello! The cache is working from Node.js!"));
    
             // GET
             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"]));
           break;
         } catch (e) {
           console.log("error during redis get", e.toString());
           if ((accessToken.expiresOnTimestamp <= Date.now())|| (redis.status === "end" || "close") ) {
             await redis.disconnect();
             accessToken = await returnPassword(credential);
             cacheConnection = createClient({
               username: process.env.REDIS_SERVICE_PRINCIPAL_ID,
               password: accessToken.token,
               url: `redis://${process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME}:6380`,
               pingInterval: 100000,
               socket: {
                 tls: true,
                 keepAlive: 0
               },
             });
           }
         }
       }
     }
    
     main().then((result) => console.log(result)).catch(ex => console.log(ex));
    
  3. Ejecute el script con Node.js.

    node redistestreauth.js
    
  4. La salida del código tiene este aspecto.

     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
    
    

Nota:

Para obtener ejemplos adicionales de uso de Microsoft Entra ID para autenticarse en Redis mediante la biblioteca de node-redis, consulte este repositorio de GitHub

Limpieza de recursos

Si desea seguir usando los recursos que creó en este artículo, mantenga el grupo de recursos.

De lo contrario, si ya ha terminado con los recursos, puede eliminar el grupo de recursos de Azure que ha creado para evitar cargos.

Importante

La eliminación de un grupo de recursos es irreversible. Cuando elimine un grupo de recursos, todos los recursos contenidos en él se eliminan permanentemente. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados. Si ha creado los recursos en un grupo de recursos existente que contiene recursos que desea conservar, puede eliminar cada recurso individualmente en lugar de eliminar el grupo de recursos.

Para eliminar un grupo de recursos

  1. Inicie sesión en Azure Portal y después seleccione Grupos de recursos.

  2. Seleccione el grupo de recursos que desea eliminar.

    Si hay muchos grupos de recursos, use el cuadro Filtro para cualquier campo... y escriba el nombre del grupo de recursos que creó para este artículo. Seleccione el grupo de recursos en la lista de resultados.

    Captura de pantalla que muestra una lista de grupos de recursos para eliminar en el panel de trabajo.

  3. Seleccione Eliminar grupo de recursos.

  4. Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y, después, seleccione Eliminar.

    Captura de pantalla que muestra un formulario que requiera el nombre del recurso para confirmar la eliminación.

Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.

Obtención del código de ejemplo

Obtenga el inicio rápido de Node.js en GitHub.

En este inicio rápido, ha aprendido a usar Azure Managed Redis o Azure Cache for Redis desde una aplicación de Node.js. Obtenga más información acerca de las ofertas de Azure Redis: