Conociendo REDIS

logo redis

 

Cada año el uso de Internet va en aumento, y este incremento de usuarios para un servicio que recibe millones de peticiones,  supone un cambio en el desarrollo de sus aplicaciones para una mayor escalabilidad.

REDIS (versión a la fecha 2.8.3), es un motor de base de datos clave-valor (key-value) que funciona en memoria RAM, aunque opcionalmente puede trabajarse como una base de datos persistente, de acuerdo a la configuración que necesitemos.

Si vienes usando MemCached en PHP, pues REDIS es similar a una caché de memoria pero a diferencia de esta ultima, REDIS es similar a un motor de base de datos NoSQL que funciona en memoria RAM, por lo que su escritura y lectura (write-read) de información es mucho mas rápida que usar un motor de base de datos convencional (arquitectura cliente-servidor) y es precisamente esa una de las características por la que REDIS  viene siendo utilizada en grandes aplicaciones web como GitHubinstagram,Mercado LibreStackOverFlow, entre otros.

Conociendo REDIS

1. Como me mencionamos en la breve definición de REDIS, habíamos dicho que es un motor de base de datos clave-valor en memoria, quiere decir que si yo guardo el valor “20” en la clave “Alumno_1”, entonces cuando obtengo la clave “Alumno_1” me retornará “20”.

2. REDIS posee varias estructuras de datos como por ejemplo: cadena de caracteres (string),conjuntos (set), conjuntos ordenados (sorted set), listas (list) y tablas  hash (hashes).

3.Continuando con el punto 2, REDIS se almacena en memoria RAM, permitiendo ademas realizar replicaciones periódicas en disco.

4. La comunicación al motor REDIS es por TCP a través de un puerto (por defecto 6379), por lo que se puede acceder desde otros terminales o también puede configurarse para acceder a través de sockets permitiendo un acceso local.

5. Acepta el procesamiento de scripts LUA, como store procedure.

6. Lleva el control del incremento de valores para difusión a los terminales conectados a un canal similar a un servidor broadcaster.

7. Trabaja con la tecnología de master-slave, donde un motor REDIS puede actuar como un master y replicar copias de información a otro motor REDIS slave.

8. Posee un protocolo abierto y se puede usar desde distintos lenguajes de programación, C, PHP, Python, C#, Clojure, go, Haskell, entre otros.

Por si te lo preguntastes, REDIS significa REmote DIctionary Server y es un servidor de estructuras de datos escrito en Ansi C muy optimizado, por el programador italiano Salvatore Sanfilippo, quien a su vez esta patrocinado por VMware y liberado al mercado por licencia BSD (Open Source).

Les dejo el link de la documentación oficial de REDIS, para que sigan profundizando sobre este tema.

Publicado por

24 x 7 Internet User, Engineer, Web & Backend Developer, IT Project Manager, University professor, Freelancer, Programming Fanatic and Kanban lover.