Decida si quiere usar Azure Cache for Redis

Completado

El sitio web deportivo tiene una base de datos subyacente que ejecuta consultas para devolver datos. Sin embargo, el rendimiento se ralentiza cuando la carga es alta, especialmente durante grandes eventos deportivos. En entornos hospedados, el mayor uso de los recursos se traduce en costos más elevados. El almacenamiento en caché de los datos garantiza el buen rendimiento del sitio web y la ejecución económica del mismo.

¿Qué es el almacenamiento en caché?

El almacenamiento en caché es el acto de almacenar datos a los que se accede de forma regular en una memoria cercana a la aplicación que consume los datos. Puede usar el almacenamiento en caché para aumentar el rendimiento y reducir la carga de los servidores. Usamos Redis para crear una caché en memoria que pueda proporcionar una latencia excelente y posiblemente mejorar el rendimiento.

¿Qué es una caché de Redis?

Una caché de Redis (REmote DIctionary Server) es un almacén de pares clave-valor en memoria de código abierto. Es popular porque es rápido y puede almacenar y manipular tipos de datos comunes tales como cadenas, códigos hash y conjuntos. También es fácil de usar para los desarrolladores porque admite varios lenguajes como, por ejemplo, Python, C, C++, C#, Java y JavaScript, entre otros.

¿Qué es Azure Cache for Redis?

Azure Cache for Redis se basa en la popular caché en Redis de código abierto. Le proporciona acceso a una caché de Redis segura y dedicada, administrada por Microsoft. Una memoria caché creada con Azure Redis Cache es accesible desde cualquier aplicación dentro de Azure. Azure Cache for Redis normalmente se usa para mejorar el rendimiento de aquellos sistemas que dependen mucho de almacenes de datos back-end.

Sus datos almacenados en caché se encuentran en memoria en un servidor de Azure con la caché de Redis en lugar de cargarse desde el disco a través de una base de datos. Su memoria caché también es altamente escalable. Puede modificar el tamaño y el plan de tarifa en cualquier momento.

¿Qué tipos de datos se pueden almacenar en la memoria caché?

Redis admite varios tipos de datos que se orientan en torno a cadenas seguras binarias. Puede usar cualquier secuencia binaria para un valor, desde una cadena como "me-gusta-la-carretera-escarpada" hasta el contenido de un archivo de imagen. Una cadena vacía es también un valor válido.

  • Cadenas seguras binarias (más comunes)
  • Listas de cadenas
  • Conjuntos no ordenados de cadenas
  • Códigos hash
  • Conjuntos ordenados de cadenas
  • Mapas de cadenas

Cada valor de datos está asociado a una clave que se puede usar para buscar el valor en la caché. Redis funciona mejor con valores más pequeños (100 kB o menos), por lo que puede cortar los datos más grandes en varias claves. Es posible almacenar valores mayores (hasta 500 MB), pero aumenta la latencia de red y puede causar problemas de almacenamiento en caché y de memoria insuficiente si la memoria caché no está configurada para que expiren los antiguos valores.

¿Qué es una clave de Redis?

Las claves de Redis son también cadenas seguras binarias. Estas son algunas directrices para elegir las claves:

  • Evite las claves largas: Ocupan más memoria y requieren más tiempo de búsqueda porque se deben comparar byte a byte. Si desea usar un blob binario como clave, genere un hash único y úselo como clave en su lugar. El tamaño máximo de una clave es 512 MB, pero nunca debería usar una clave de ese tamaño.
  • Use claves que puedan identificar los datos: Por ejemplo, sport:football;date:2008-02-02 sería una clave mejor que fb:8-2-2. La primera opción es más legible y el tamaño adicional es insignificante. Intente encontrar el equilibrio entre tamaño y legibilidad.
  • Use una convención: Una convención correcta es object:ID, como en sport:football.

¿Cómo se almacenan los datos en una caché de Redis?

Los datos en Redis se almacenan en nodos y clústeres.

Los nodos son un espacio en Redis donde se almacenan los datos.

Los clústeres son conjuntos de tres o más nodos en los que se divide el conjunto de datos. Los clústeres son útiles porque sus operaciones continuarán si un nodo provoca un error o no se puede comunicar con el resto del clúster.

¿Qué son las arquitecturas de almacenamiento en caché?

La arquitectura de almacenamiento en caché de Redis es la forma en que distribuimos los datos en la memoria caché. Redis distribuye los datos de tres maneras principales:

  1. Nodo único
  2. Nodo múltiple
  3. En clúster

Las arquitecturas de almacenamiento en caché se dividen en Azure por niveles:

Memoria caché básica

Una memoria caché básica le proporciona una caché de Redis de nodo único. El conjunto de datos completo se almacena en un solo nodo. Este nivel es ideal para el desarrollo, la realización de pruebas y las cargas de trabajo no críticas.

Memoria caché estándar

La memoria caché estándar crea arquitecturas de nodo múltiple. Redis replica una memoria caché en una configuración principal/secundaria de dos nodos. Azure administra la replicación entre los dos nodos y crea una caché lista para producción con replicación principal o secundaria.

Nivel Premium

El nivel Premium incluye las características del nivel Estándar, pero agrega la capacidad de conservar datos, tomar instantáneas y realizar copias de seguridad de los datos. Con este nivel, puede crear un clúster de Redis que comparte datos entre varios nodos de Redis para aumentar la memoria disponible. El nivel Premium también admite Azure Virtual Network para proporcionarle un completo control sobre las conexiones, redes, direcciones IP y aislamiento de red. Este nivel también incluye replicación geográfica para que pueda asegurarse de que sus datos están relacionados con la aplicación que los consume.

Resumen

Una base de datos es idónea para almacenar grandes cantidades de datos, pero hay una latencia inherente al buscar datos. Envía una consulta. El servidor interpreta la consulta, busca los datos y los devuelve. Los servidores también tienen límites de capacidad para administrar solicitudes. Si se realizan demasiadas solicitudes, es probable que se ralentice la recuperación de datos. El almacenamiento en caché almacena con regularidad los datos solicitados en memoria. Estos pueden devolverse más rápido que si se consulta una base de datos, lo que debería reducir la latencia y aumentar el rendimiento. Azure Cache for Redis proporciona acceso a una caché de Redis segura, dedicada y escalable, hospedada en Azure y administrada por Microsoft.