Compartir a través de


Inicio rápido: Uso de Azure Redis con una aplicación web de ASP.NET

En este inicio rápido usará Visual Studio 2019 para crear una aplicación web de ASP.NET que se conecte a Azure Redis Cache para almacenar y recuperar datos de la caché. Después implementará la aplicación en Azure App Service.

Ir al código en GitHub

Clone el repositorio https://github.com/Azure-Samples/azure-cache-redis-samples/tree/main/quickstart/aspnet en GitHub.

Requisitos previos

Creación de una instancia de Azure Managed Redis (versión preliminar)

  1. Para crear una instancia de Azure Managed Redis (versión preliminar), 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 página Nueva instancia de Redis Cache, configure las opciones de la nueva caché.

    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 DNS 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.
    Ubicación Desplácese hacia abajo y seleccione una ubicación. Azure Managed Redis está disponible en las regiones de Azure seleccionadas.
    Tipo de caché Desplegable y seleccione el nivel de rendimiento y el tamaño de caché. El nivel determina el rendimiento de la instancia de Redis, mientras que el tamaño de caché determina la memoria disponible para almacenar datos. Para obtener instrucciones sobre cómo elegir el nivel de rendimiento adecuado, consulte Elección del nivel correcto

    Captura de pantalla que muestra la pestaña Aspectos básicos de Redis administrados de Azure.

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

  5. Seleccione Siguiente: Opciones avanzadas.

    Configure los módulos Redis que quiere 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 una seguridad y facilidad de uso superiores a la autorización mediante claves de acceso compartidas. Para 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é.

    Establezca Directiva de agrupación en clústeres en Enterprise para una memoria caché no en clúster, o bien en OSS para una caché en clúster. Para obtener más información sobre cómo elegir Directiva de agrupación en clústeres, consulte directiva de clúster.

    Captura de pantalla que muestra la pestaña Azure Managed Redis Advanced (Opciones avanzadas de Redis administrados de Azure).

    Si usa Replicación geográfica activa, debe configurarse durante la creación. Para obtener más información, consulte Configuración de la replicación geográfica activa para instancias de Azure Managed Redis.

    Importante

    No puede cambiar la directiva de agrupación en clústeres de una instancia de Azure Managed Redis (versión preliminar) 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é.

  6. Seleccione Siguiente: Etiquetas y omítalo.

  7. Seleccione Siguiente: Review + create (Revisar y crear).

  8. 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. Para crear una caché, inicie sesión en Azure Portal. En el menú de Azure Portal, seleccione Crear un recurso.

    Captura de pantalla que muestra la opción Crear un recurso resaltada en el panel de navegación izquierdo de Azure Portal.

  2. En el panel Comenzar, escriba Azure Cache for Redis en la barra de búsqueda. En los resultados de la búsqueda, encuentre Azure Cache for Redis y, a continuación, seleccione Crear.

    Captura de pantalla que muestra Azure Marketplace con Azure Cache for Redis en el cuadro de búsqueda y el botón Crear está resaltado.

  3. En el panel Nueva Redis Cache, en la pestaña Aspectos básicos, configure las siguientes opciones para la memoria caché:

    Configuración Acción Descripción
    Suscripción Seleccione la suscripción a Azure. La suscripción que se va a usar para crear la nueva instancia de Azure Cache for Redis.
    Grupo de recursos 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 va a crear la memoria 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 DNS Escriba un nombre único. El nombre de caché debe ser una cadena de 1 a 63 caracteres que contenga solo números, letras y guiones. 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>.redis.cache.windows.net.
    Ubicación Seleccione una ubicación. Una región de Azure cercana a otros servicios que usan la memoria caché.
    SKU de la caché Seleccione una SKU. La SKU determina los parámetros de tamaño, rendimiento y característica que están disponibles para la memoria caché. Para más información, consulte la introducción a Azure Cache for Redis.
    Tamaño de la caché Seleccione un tamaño de caché. Para más información, consulte la introducción a Azure Cache for Redis.
  4. Seleccione la pestaña Redes o Siguiente: Redes.

  5. En la pestaña Redes, seleccione un método de conectividad que se usará para la memoria caché.

  6. Seleccione la pestaña Opciones avanzadas o Siguiente: Opciones avanzadas.

  7. En el panel Opciones avanzadas, compruebe o seleccione un método de autenticación en función de la siguiente información:

    Captura de pantalla que muestra el panel Opciones avanzadas y las opciones disponibles que se van a seleccionar.

    • De manera predeterminada, para una nueva caché Básica, Estándar o Premium, la Autenticación de Microsoft Entra está habilitada y la Autenticación de claves de acceso está deshabilitada.
    • Para las cachés Básica o Estándar, puede elegir la selección de un puerto que no sea TLS.
    • Para las cachés Estándar y Premium, puede habilitar las zonas de disponibilidad. No puede deshabilitar las zonas de disponibilidad una vez creada la caché.
    • En el caso de una caché Premium, configure las opciones para un puerto que no sea TLS, la agrupación en clústeres, la identidad administrada y la persistencia de datos.

    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 una seguridad y facilidad de uso superiores a la autorización mediante claves de acceso compartidas. Para 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. (Opcional) Seleccione la pestaña Etiquetas o Siguiente: Etiquetas.

  9. (Opcional) En la pestaña Etiquetas, escriba un nombre de etiqueta y un valor si desea clasificar el recurso de caché.

  10. Seleccione el botón Revisar y crear.

    En la pestaña Revisar y crear, Azure valida automáticamente la configuración.

  11. Tras aparecer el mensaje verde Validación superada, seleccione Crear.

Se produce una nueva implementación de caché durante varios minutos. Puede supervisar el progreso de la implementación en el panel Información general de Azure Cache for Redis. Cuando Estado muestra En ejecución, la memoria caché está lista para usarse.

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

Las memorias caché de Azure Redis, excepto de los niveles Enterprise y Enterprise Flash, tienen habilitada la autenticación de Microsoft Entra de forma predeterminada. Las claves de acceso están deshabilitadas de forma predeterminada.

Importante

Microsoft recomienda usar la autenticación de Microsoft Entra ID para la experiencia de autenticación más segura en lugar de utilizar contraseñas o claves de acceso. La autenticación descrita en esta sección del artículo usa claves de acceso, que requieren un grado de confianza muy alto en la aplicación y conlleva riesgos que no están presentes al usar Microsoft Entra ID. Utilice el enfoque de este documento solo cuando la autenticación de Microsoft Entra ID no sea viable.

  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 para usar la autenticación de Microsoft Entra ID

La biblioteca de Azure.StackExchange.Redis contiene el método de autenticación Microsoft Entra ID para conectarse a los servicios de Azure Redis mediante Microsoft Entra ID. Se aplica a todas las instancias de Azure Cache for Redis, Azure Cache for Redis Enterprise y Azure Managed Redis (versión preliminar).

  1. Abra el proyecto en Visual Studio.

  2. Haga clic con el botón derecho en el proyecto, elija Administrar paquetes NuGet...

  3. Busque Microsoft.Azure.StackExchangeRedis.

  4. Haga clic en el botón Instalar para instalar

  5. Acepte todo el contenido que se solicita para finalizar la instalación

Conexión a la caché mediante Microsoft Entra ID

  1. Incluir las bibliotecas en el código

    using Azure.Identity;
    using StackExchange.Redis
    
  2. Uso de las credenciales de Azure predeterminadas para autenticar la conexión de cliente. Esto permite que el código use la credencial de usuario que inició sesión cuando se ejecuta localmente y una identidad administrada de Azure cuando se ejecuta en Azure sin cambiar el código.

var configurationOptions = await ConfigurationOptions.Parse($"{_redisHostName}").ConfigureForAzureWithTokenCredentialAsync(new DefaultAzureCredential());
ConnectionMultiplexer _newConnection = await ConnectionMultiplexer.ConnectAsync(configurationOptions);
IDatabase Database = _newConnection.GetDatabase();

Para editar el archivo web.config

  1. Edite el archivo Web.config agregando el siguiente contenido:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Reemplace <cache-hostname> por el nombre de host de caché tal y como aparece en el menú Información general del menú Recurso de Azure Portal.

    Por ejemplo, con Azure Managed Redis o los niveles Enterprise: my-redis.eastus.azure.net:10000

  3. Guarde el archivo.

Para obtener más información, consulte StackExchange.Redis y el código en un repositorio de GitHub.

Para editar el archivo web.config

  1. Edite el archivo Web.config agregando el siguiente contenido:

    <appSettings>
        <add key="RedisHostName" value="<cache-hostname-with-portnumber>"/>
    </appSettings>
    
  2. Reemplace <cache-hostname> por el nombre de host de caché tal y como aparece en el menú Información general del menú Recurso de Azure Portal.

    Por ejemplo, con Azure Cache for Redis, my-redis.eastus.azure.net:6380

  3. Guarde el archivo.

Para obtener más información, consulte StackExchange.Redis y el código en un repositorio de GitHub.

Probar la aplicación localmente

De forma predeterminada, el proyecto está configurado para hospedar la aplicación localmente en IIS Express para pruebas y depuración.

Para ejecutar la aplicación localmente

  1. En Visual Studio, seleccione Depurar>Iniciar depuración para crear e iniciar la aplicación localmente para pruebas y depuración.

  2. En el explorador, seleccione Azure Redis Cache Test (Prueba de Azure Redis Cache) en la barra de navegación.

  3. En el ejemplo siguiente, la clave Message tenía anteriormente un valor almacenado en caché, que se estableció mediante la consola de Azure Redis Cache en el portal. La aplicación actualizó ese valor almacenado en caché. La aplicación también ejecutó los comandos PING y CLIENT LIST.

    Captura de pantalla de la prueba simple completada localmente.

Publicación y ejecución en Azure

Cuando haya probado con éxito la aplicación localmente, puede implementarla en Azure y ejecutarla en la nube.

Para publicar la aplicación en Azure

  1. En Visual Studio, haga clic con el botón derecho en el nodo del proyecto en el Explorador de soluciones. Después, seleccione Publicar.

    Captura de pantalla que muestra el botón Publicar.

  2. Seleccione Microsoft Azure App Service, después Crear nuevo y después seleccione Publicar.

    Captura de pantalla que muestra cómo publicar en App Service.

  3. En el cuadro de diálogo Crear servicio de aplicaciones, realice los cambios siguientes:

    Setting Valor recomendado Descripción
    Nombre de la aplicación Use el valor predeterminado. El nombre de la aplicación es el nombre de host de la aplicación cuando se implementa en Azure. El nombre puede tener un sufijo de marca de tiempo que se le agrega, si es necesario, para que sea único.
    Suscripción Elija la suscripción de Azure. En esta suscripción se cargan los costos de hospedaje relacionados. Si tiene varias suscripciones de Azure, compruebe que se selecciona la suscripción deseada.
    Grupos de recursos Use el mismo grupo de recursos donde creó la caché (por ejemplo, TestResourceGroup). El grupo de recursos le ayuda a administrar todos los recursos como un grupo. Más adelante, si desea eliminar la aplicación, puede eliminar simplemente el grupo.
    plan de App Service Seleccione Nuevo y después cree un nuevo plan de App Service llamado TestingPlan.
    Use la misma ubicación que utilizó al crear la caché.
    Elija Libre para el tamaño.
    Un plan de App Service define un conjunto de recursos de proceso con los que se ejecuta una aplicación web.

    Captura de pantalla que muestra el cuadro de diálogo App Service.

  4. Después de definir la configuración del hospedaje de App Service, seleccione Crear.

  5. Supervise la ventana Salida en Visual Studio para ver el estado de la publicación. Una vez publicada la aplicación, se registra la dirección URL de la aplicación:

    Captura de pantalla de la publicación de información en el panel de salida.

Adición de la configuración de aplicación para la caché

Una vez publicada la nueva aplicación, agregue una nueva configuración de aplicación. Esta configuración se usará para almacenar la información de conexión de caché.

Para agregar la configuración de aplicación

  1. Para buscar la nueva aplicación que creó, escriba el nombre de la aplicación en la barra de búsqueda de la parte superior de Azure Portal.

    Captura de pantalla que muestra cómo encontrar la aplicación en Azure Portal.

  2. Agregue una nueva configuración de aplicación llamada CacheConnection para la aplicación que se usará para conectarse a la caché. Use el mismo valor que configuró para RedisHostName en el archivo web.config.

Ejecutar la aplicación en Azure

  1. En el explorador, vaya a la dirección URL de la aplicación. La dirección URL aparece en los resultados de la operación de publicación en la ventana de salida de Visual Studio. La dirección URL también se proporciona en Azure Portal en la página de información general de la aplicación que creó.

  2. Seleccione Prueba de Azure Cache for Redis en la barra de navegación para probar el acceso a la memoria caché como hizo con la versión local.

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.