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 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:

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

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, seleccioneCrear.

    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.

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.

  1. En Azure Portal, acceda a la caché.
  2. En el menú Servicio, seleccione Información general.
  3. 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.

Captura de pantalla que muestra las propiedades de Azure Cache for Redis con el nombre de host resaltado.

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.

  1. En Azure Portal, acceda a la caché.

  2. En el menú de servicio, en Configuración, seleccione Configuración de acceso a datos.

  3. En el panel de Configuración de acceso a datos, seleccione Agregar>Nuevo usuario de Redis.

    Captura de pantalla que muestra el panel de configuración de acceso a datos con nuevo usuario de Redis resaltado.

  4. En el panel Nuevo usuario de Redis, seleccione la directiva de Colaborador de datos y luego seleccione Siguiente: Usuarios de Redis.

  5. 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 nuevo usuario de Redis con la opción Seleccionar miembro resaltada.

  6. 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í.

  1. Abra Views\Shared\_Layout.cshtml.

  2. 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>
    

Captura de pantalla que muestra la página principal en una página web.

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.

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

  2. 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

  1. En la ventana del símbolo del sistema, compile la aplicación mediante el siguiente comando:

    dotnet build
    
  2. Ejecute la aplicación mediante este comando:

    dotnet run
    
  3. En un explorador web, vaya a https://localhost:5001.

  4. 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é.

Captura de pantalla que muestra una 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, 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

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

  2. 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.

    Captura de pantalla que muestra una lista de grupos de recursos a elegir para eliminar.

  3. Seleccione Eliminar grupo de recursos.

  4. En el panel Eliminar un grupo de recursos, escriba el nombre del grupo de recursos para confirmar y, a continuación, seleccione Eliminar.

    Captura de pantalla que muestra un cuadro que requiere escribir el nombre del recurso para confirmar la eliminación.

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