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 obtenerlos.
Puede usar un proveedor de almacenamiento en caché en la aplicación web de ASP.NET Core. Para empezar rápidamente a usar Redis con cambios mínimos en el código existente, vea:
- Proveedor de caché de salida de ASP.NET Core
- Proveedor de almacenamiento en caché distribuido de ASP.NET Core
- Proveedor de sesión de Redis de ASP.NET Core
Ir al código
En este artículo se describe cómo modificar el código de una aplicación de ejemplo para crear una aplicación de trabajo que se conecte a Azure Cache for Redis.
Si desea ir directamente al código, consulte el ejemplo de inicio rápido de ASP.NET Core en GitHub.
Puede clonar los ejemplos de Azure Cache for Redis del repositorio de GitHub y, a continuación, ir al directorio quickstart/aspnet-core para ver el código fuente completo de los pasos descritos en este artículo.
El directorio quickstart/aspnet-core también se configura como una plantilla de Azure Developer CLI. Use la herramienta 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é de ASP.NET Core: ASP.NET Core 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 archivo README.md del ejemplo de inicio rápido de ASP.NET Core en GitHub.
Requisitos previos
- Suscripción a Azure. Crear 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, seleccioneCrear.
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.
Obtener el nombre de host
Para conectarse al servidor de Azure Cache for Redis, el cliente de la caché necesita el nombre de host y otra información. Es posible que algunos clientes utilicen nombres ligeramente diferentes para estos elementos. Puede obtener el nombre de host en Azure Portal.
- En Azure Portal, acceda a la caché.
- En el menú Servicio, seleccione Información general.
- En Información esencial, para Nombre de host, seleccione el icono Copiar para copiar el valor del nombre de host. El valor del nombre de host tiene el formato
<DNS name>.redis.cache.windows.net
.
Agregar una nueva directiva de acceso de usuario de Redis
A la identidad que accede a Azure Cache for Redis se le debe asignar una directiva de acceso a datos. 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.
En Azure Portal, acceda a la caché.
En el menú de servicio, en Configuración, seleccione Configuración de acceso a datos.
En el panel de Configuración de acceso a datos, seleccione Agregar>Nuevo usuario de Redis.
En el panel Nuevo usuario de Redis, seleccione la directiva de Colaborador de datos y luego 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. En el código, reemplace los marcadores de posición, incluidos los corchetes angulares, por el nombre de la caché y la clave de acceso principal:
dotnet user-secrets set RedisHostName "<cache-name>.redis.cache.windows.net"
Conexión 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 Controladores:
_redisConnection = await _redisConnectionFactory;
El archivo 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;
La clase RedisConnection
garantiza que siempre haya una conexión correcta a la memoria caché. La conexión se administra mediante la instancia de ConnectionMultiplexer
de 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 el repositorio de GitHub StackExchange.Redis.
Comprobar las 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 la sección siguiente, probará la memoria caché mediante el controlador que agregue aquí.
Abra Views\Shared\_Layout.cshtml.
Compruebe que la línea siguiente está 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 en la barra de navegación 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.
Compruebe que el siguiente código está 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>
Ejecución de la aplicación de forma local
En la ventana del símbolo del sistema, compile la aplicación mediante el siguiente comando:
dotnet build
Ejecute la aplicación mediante este comando:
dotnet run
En un explorador web, vaya a
https://localhost:5001
.En la barra de navegación de la página web, seleccione Prueba de Azure Cache for Redis 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, para evitar cargos relacionados con los recursos, si ha terminado de usarlos, puede eliminar el grupo de recursos de Azure que creó.
Advertencia
La eliminación de un grupo de recursos es irreversible. Cuando elimine un grupo de recursos, todos los recursos del grupo 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 tiene recursos que desea conservar, puede eliminar cada recurso individualmente en lugar de eliminar el grupo de recursos.
Eliminación de un grupo de recursos
Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
Seleccione el grupo de recursos que se eliminará.
Si hay muchos grupos de recursos, en Filtro para cualquier campo, escriba el nombre del grupo de recursos que creó para completar este artículo. En la lista de resultados de búsqueda, seleccione el grupo de recursos.
Seleccione Eliminar grupo de recursos.
En el panel Eliminar un grupo de recursos, escriba el nombre del grupo de recursos para confirmar y, a continuación, seleccione Eliminar.
En unos instantes, el grupo de recursos y todos sus recursos se eliminan.