Compartir vía


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

En este inicio rápido incorporará Azure Cache for Redis en una aplicación web de ASP.NET Core que se conecte a él para almacenar datos en la caché y recuperarlos.

También hay proveedores de almacenamiento en caché en .NET Core. Para empezar rápidamente a usar Redis con cambios mínimos en el código existente, vea:

Ir al código en GitHub

Clone el repositorio de GitHub https://github.com/Azure-Samples/azure-cache-redis-samples y vaya al directorio quickstart/aspnet-core para ver el código fuente completado para conocer los pasos que se indican a continuación.

El directorio quickstart/aspnet-core también se configura como una plantilla de Azure Developer CLI (azd). Use la herramienta de azd de código abierto para simplificar el aprovisionamiento y la implementación desde un entorno local a Azure. Opcionalmente, ejecute el comando azd up para aprovisionar automáticamente una instancia de Azure Cache for Redis y configurar la aplicación de ejemplo local para conectarse a ella:

azd up

Explorar el ejemplo de eShop

Como paso siguiente, puede ver una aplicación de eShop de escenario real que muestra los proveedores de almacenamiento en caché principales de ASP.NET: ASP.NET eShop principal mediante proveedores de almacenamiento en caché de Redis.

Características incluidas:

  • Almacenamiento en caché distribuido de Redis
  • Proveedor de estado de sesión de Redis

Las instrucciones de implementación se encuentran en el README.md.

Requisitos previos

Creación de una caché

  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 la pestaña Avanzado, active la casilla Autenticación de Microsoft Entra para habilitar la autenticación de Microsoft Entra.

    Captura de pantalla que muestra el panel Opciones avanzadas y la opción disponible que se va a seleccionar.

    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 para 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 el 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.

Agregar la directiva de acceso de Redis

Debe asignar una directiva de acceso a datos para la identidad que accede a Azure Cache for Redis. En este ejemplo, asignará una directiva de acceso a datos a la misma cuenta de Microsoft Entra ID que usa para iniciar sesión en la CLI de Azure o Visual Studio.

  1. Seleccione Configuración menú Recurso en la memoria caché y seleccione la Configuración de acceso a datos.

  2. En la página Configuración de acceso a datos, seleccione Agregar > Nuevo usuario de Redis en el panel de navegación superior.

    Captura de pantalla que muestra la pantalla de configuración de acceso a datos.

  3. En la página Nuevo usuario de Redis, seleccione la directiva de Colaborador de datos y seleccione Siguiente: Usuarios de Redis.

  4. Elija + Seleccionar miembro para abrir el menú flotante. Busque la cuenta de usuario y selecciónela en los resultados.

    Captura de pantalla que muestra la pestaña usuario de Redis en el panel de trabajo con un miembro seleccionado resaltado con un cuadro rojo.

  5. Seleccione Revisar y asignar para asignar la directiva al usuario seleccionado.

Agregar un secreto local para el nombre de host

En la ventana de comandos, ejecute el siguiente comando para almacenar un nuevo secreto denominado RedisHostName, después de reemplazar los marcadores de posición, incluidos los corchetes angulares, para el nombre de la caché y la clave de acceso principal:

dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"

Para usar la instancia de Azure Managed Redis (versión preliminar), almacene un nuevo secreto denominado RedisHostName como se indica a continuación:

dotnet user-secrets set RedisHostName "<cache-name>.<region>.redis.azure.net"

Conectar a la caché con RedisConnection

La clase RedisConnection administra la conexión a la memoria caché. La conexión se realiza en esta instrucción en HomeController.cs de la carpeta Controllers:

_redisConnection = await _redisConnectionFactory;

La clase RedisConnection.cs incluye los espacios de nombres StackExchange.Redis y Azure.Identity en la parte superior del archivo para incluir tipos esenciales para conectarse a Azure Cache for Redis.

using StackExchange.Redis;
using Azure.Identity;

El código de RedisConnection garantiza que siempre haya una conexión correcta a la memoria caché mediante la administración de la instancia ConnectionMultiplexer desde StackExchange.Redis. La clase RedisConnection vuelve a crear la conexión cuando se pierde una conexión y no se puede volver a conectar automáticamente.

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

Vistas de diseño en el ejemplo

El diseño de página principal de este ejemplo se almacena en el archivo _Layout.cshtml. En esta página, se inician las pruebas de caché reales haciendo clic en la Prueba de Azure Cache for Redis de esta página.

  1. Abra Views\Shared\_Layout.cshtml.

  2. Debería verlo en <div class="navbar-header">:

    <a class="navbar-brand" asp-area="" asp-controller="Home" asp-action="RedisCache">Azure Cache for Redis Test</a>
    

Captura de pantalla de la página principal.

Mostrar datos de la memoria caché

En la página principal, seleccione Prueba de Azure Cache for Redis para ver la salida de ejemplo.

  1. En el Explorador de soluciones, expanda la carpeta Vistas y, luego, haga clic con el botón derecho en la carpeta Inicio.

  2. Debería ver este código en el archivo RedisCache.cshtml.

    @{
        ViewBag.Title = "Azure Cache for Redis Test";
    }
    
    <h2>@ViewBag.Title.</h2>
    <h3>@ViewBag.Message</h3>
    <br /><br />
    <table border="1" cellpadding="10">
        <tr>
            <th>Command</th>
            <th>Result</th>
        </tr>
        <tr>
            <td>@ViewBag.command1</td>
            <td><pre>@ViewBag.command1Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command2</td>
            <td><pre>@ViewBag.command2Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command3</td>
            <td><pre>@ViewBag.command3Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command4</td>
            <td><pre>@ViewBag.command4Result</pre></td>
        </tr>
        <tr>
            <td>@ViewBag.command5</td>
            <td><pre>@ViewBag.command5Result</pre></td>
        </tr>
    </table>
    

Probar la aplicación localmente

  1. Ejecute el siguiente comando en la ventana Comandos para compilar la aplicación:

    dotnet build
    
  2. Luego, ejecute la aplicación con el siguiente comando:

    dotnet run
    
  3. Vaya a https://localhost:5001 en el explorador web.

  4. Seleccione Azure Redis Cache Test (Prueba de Azure Redis Cache) en la barra de navegación de la página web para probar el acceso a la memoria caché.

Captura de pantalla de la prueba simple completada localmente.

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.