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:
- Proveedor de caché de salida principal de ASP.NET
- Proveedor de almacenamiento en caché distribuido principal de ASP.NET
- Proveedor de sesión de Redis principal de ASP.NET
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
- Una suscripción a Azure: cree una cuenta gratuita
- SDK de .NET Core
Creación de una caché
Para crear una caché, inicie sesión en Azure Portal. En el menú de Azure Portal, seleccione Crear un recurso.
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.
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. Seleccione la pestaña Redes o Siguiente: Redes.
En la pestaña Redes, seleccione un método de conectividad que se usará para la memoria caché.
Seleccione la pestaña Opciones avanzadas o Siguiente: Opciones avanzadas.
En la pestaña Avanzado, active la casilla Autenticación de Microsoft Entra para habilitar la autenticación de Microsoft Entra.
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é.
(Opcional) Seleccione la pestaña Etiquetas o Siguiente: Etiquetas.
(Opcional) En la pestaña Etiquetas, escriba un nombre de etiqueta y un valor si desea clasificar el recurso de caché.
Seleccione el botón Revisar y crear.
En la pestaña Revisar y crear, Azure valida automáticamente la configuración.
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.
En Azure Portal, seleccione la memoria caché en la que desea usar la autenticación basada en tokens de Microsoft Entra.
Seleccione Autenticación en el menú Recurso.
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é.
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.
Seleccione Configuración menú Recurso en la memoria caché y seleccione la Configuración de acceso a datos.
En la página Configuración de acceso a datos, seleccione Agregar > Nuevo usuario de Redis en el panel de navegación superior.
En la página Nuevo usuario de Redis, seleccione la directiva de Colaborador de datos y seleccione Siguiente: Usuarios de Redis.
Elija + Seleccionar miembro para abrir el menú flotante. Busque la cuenta de usuario y selecciónela en los resultados.
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.
Abra Views\Shared\_Layout.cshtml.
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>
Mostrar datos de la memoria caché
En la página principal, seleccione Prueba de Azure Cache for Redis para ver la salida de ejemplo.
En el Explorador de soluciones, expanda la carpeta Vistas y, luego, haga clic con el botón derecho en la carpeta Inicio.
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
Ejecute el siguiente comando en la ventana Comandos para compilar la aplicación:
dotnet build
Luego, ejecute la aplicación con el siguiente comando:
dotnet run
Vaya a
https://localhost:5001
en el explorador web.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é.
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
Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
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.
Seleccione Eliminar grupo de recursos.
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.
Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.