Entendiendo Azure Redis Cache
Hablar de Redis, es hablar de almacenamiento y rapidez. Redis es un motor de base de datos en memoria volátil, no es como los modelos tradicionales de bases de datos relacionales basados en tablas con llaves primarias y foráneas. Redis basa su almacenamiento por medio de hashes (clave, valor).
Redis es un producto de tipo open source cuyo sitio oficial lo podemos visitar aquí: Sitio oficial de Redis
Microsoft Azure adopta el Redis ya mencionado como un servicio en la nube llamado “Azure Redis Cache”. Ofreciéndonos la rapidez de acceso a datos con Redis, desde una infraestructura de cómputo en la nube, lo cual la hace una oferta bastante atractiva en cuanto soluciones de lectura y escritura de información en tiempo real.
Las maneras en que Redis almacena información son las siguientes:
Una de las principales limitaciones de Redis (en sí mismo) es la memoria, ya que las estructuras de datos no pueden ser mayores a esta, pero dado que Redis se encuentra en la infraestructura de Microsoft Azure, esa limitación se vuelve casi nula, los paquetes más básicos que podemos encontrar al momento de escribir este post, rondan en los 53 GB.
Ahora que nos queda más claro que es Redis, podríamos hacernos esta pregunta:
¿Por qué debería usar Redis a diferencia de una base de datos relacional?
Y bueno, la primera respuesta que podría ofrecer es:
No debemos de usar Redis a menos que lo necesites, eso depende de la naturaleza de tu proyecto.
Aquí expongo algunas características de Redis:
- Redis se maneja en memoria RAM, por lo que el tiempo escritura y lectura de datos es superior que al hacerlo en un disco duro físico o virtual.
- Redis soporta replicación maestro-esclavo, por lo que los datos de un maestro pueden ser replicados a uno o varios esclavos, y estos a su vez también pueden actuar de maestros para otros esclavos.
- Los datos en Redis no siempre serán aleatorios, también pueden ser persistentes (pasarlos a disco duro).
Estos son algunos ejemplos de proyectos que podrían usar Redis de manera ideal:
- Videojuegos.
- Proyectos que involucren mensajería instantánea.
- Software que constantemente invoque consultas transaccionales SQL.
- Aplicaciones de tiempo real.
En Microsoft Azure, crear un servicio de Redis Cache, es tan fácil como dar tres clics, abajo una imagen desde el portal: