Redis se suele definir como una base de datos NoSQL, es decir, que no es una base de datos relacional como son otras (MySQL, LiteSQL, Postgres…), no obstante, a mí me gusta definirlo de una forma mucho más clara:
Redis es una base de datos que guarda toda la información en la memoria RAM es decir, es rapidísima.
Redis: Ventajas y desventajas
Lo miremos como lo miremos, es muy diferente a otras bases de datos, no es ni mejor ni peor, simplemente es diferente, por lo tanto, para cada proyecto Redis tendrá ventajas y desventajas, por lo que tendremos que aprender a saber cuándo usarla.
La principal ventaja de Redis es la velocidad. Guarda todos los datos en RAM, por lo que cuando el microprocesador le pide un dato, lo busca en la RAM sin tocar el disco duro, para entender el potencial de esto, tenemos que saber que la memoria RAM es hasta 100.000 veces más rápida que el disco duro ¡Imagínate la velocidad!
No obstante, la gran velocidad y el guardarlo en memoria RAM hace que nos encontremos con la desventaja de Redis que se traduce en no poder guardar tablas enteras ni muchos datos. Aunque si está permitido guardar datos en JSON (realmente se guarda en String) y aunque se puede conseguir crear una especie de tablas, Redis está pensando sobre todo como una base de datos Clave-Valor.
Redis VS MongoDB
Mucha gente se pregunta por la diferencia entre Redis y MongoDB y quieren saber cuál es mejor, no obstante, no hay ninguno mejor que otro, son diferentes y son compatibles, de hecho, muchos proyectos guardan datos en MongoDB y en Redis.
Por lo tanto, al ser diferentes (sólo se parecen en que los dos son NoSQL), tenemos que entender las diferencias y las peculiaridades de cada uno, que se resumiría en:
MongoDB: Es una base de datos orientada a documentos y que guardar los datos en JSON. No es relacional, pero mucha gente la usa como alternativa a MySQL.
Redis: Es una de las bases de datos más rápidas hasta ahora. Es de tipo clave – valor. Se suele usar como complemento a otras como MySQL o MongoDB. Se usa mucho para caches.
Para qué se usa Redis
Mucha gente, aun entendiendo toda la teoría no ven ejemplos prácticos para usar este tipo de base de datos, así que voy a indicar uno muy usado.
El principal uso que se da a Redis es de caché. Imagínate que tienes una plataforma web y que acceden miles de usuarios registrados por hora.
Cada vez que un usuario visita una página de tu plataforma, tienes que hacer varias consultas a la base de datos para saber si ese usuario con esa cookie está registrado y está autorizado para ver esa página.
Si por ejemplo de media tienes 10.000 usuarios por hora y cada usuario se ha movido por tu plataforma unas 50 veces, querrá decir que tendrás que hacer medio millón de consultas a la base de datos por hora, conectarte, mandarle los datos, esperar a que responda, procesar la información y devolverla al usuario.
Esto con Redis no pasaría ya que, si “cachearas” la primera vez los datos del usuario, te ahorrarías 490.000 consultas de verificación por hora.
Al final del día te habrás ahorrado más de 11 millones de peticiones a la base de datos para ver si el usuario está autentificado.
Redis para PHP
Como no podía ser de otra forma, tiene soporte para PHP, por lo que si eres programador de este lenguaje podrás usarlo sin mucho problema.
No obstante, no dispone de un estándar ya preinstalado en PHP por lo que tendrás que instalar el módulo si quieres disfrutar de Redis para PHP.
El módulo para PHP es muy sencillo de instalar, no obstante, hay siete versiones de desarrolladores diferentes entre los que debes de elegir, pero no te preocupes, la mayoría son similares y podrás encontrar mucha documentación.
Resumen y conclusión
En resumen, diría que Redis es una base de datos en RAM que gracias a que nos permite ahorrarnos millones de conexiones con la base de datos principal conseguimos ahorrar muchísimo dinero en servidores a la vez que conseguimos que nuestra plataforma sea muchísimo más rápida.
Por lo tanto, aprender Redis es fundamental si quieres trabajar para alguna empresa que tenga algún gran proyecto o si eres emprendedor y estás realizando tu propio proyecto.
¡Hasta mañana a las 10:11!
Gracias.
Muchas gracias!!
Gracias, me quedo clarisimo