4 min de lectura

La conexión a una base de datos es uno de los aspectos fundamentales de la programación back-end, pues nos permite guardar toda la información relevante para la página web de manera física. Sin embargo, debido a que es un método de almacenamiento secundario (en disco), conforme crece la base de datos, las llamadas realizadas por nuestro servidor tienden a volverse más lentas.

En una computadora, se sabe que la memoria principal o la caché aumentan de manera significativa la velocidad con la que se procesa la información en comparación con el almacenamiento secundario. En el caso del desarrollo web, se creó una herramienta que pudiera otorgar una funcionalidad similar para aumentar el rendimiento de las páginas web: REDIS.

¿Qué es REDIS?

Básicamente, REDIS es una herramienta de estructuras de datos en memoria, utilizada como caché de una base de datos. Con ella, la mayoría de los datos se encuentran en memoria, haciendo que la búsqueda de información requerida a través de queries sea mucho más rápida. No todas las funcionalidades (como llaves foráneas, por ejemplo) vienen incluídas, pero se obtiene rapidez.

REDIS ofrece, entonces, persistencia de datos.

¿Cómo funciona?

Manejando estructuras de datos de tipo:

  • Listas
  • Tablas de dispersión
  • Cadenas
  • Conjuntos (tanto ordenados como no ordenados)

El programador puede almacenar los resultados obtenidos a través de las queries a la base de datos y acceder a ellas de manera simple y rápida. De manera remota, REDIS guarda la información requerida, por ejemplo, una consulta de un artículo puede almacenarse en una tabla de dispersión utilizando como llave su código o algún otro atributo. Todo esto tiende a ser útil en datos que son constantemente necesarios obtener de la base de datos.

Sin embargo, como pasa en la memoria principal y secundaria de una computadora, la memoria principal tiene mayor velocidad, pero con la diferencia de que su capacidad de almacenamiento es mucho menor que la de un disco. En este caso, es obvio que no toda la información de una base de datos puede ser almacenada en las estructuras ofrecidas por REDIS; por lo que se tiene que definir una manera de dar prioridad a la información que se va a quedar almacenada y cuál va a ser borrada para dar lugar a los nuevos datos que se requieren tener guardados.

Para ello, REDIS utiliza un algoritmo de caché llamado Least Recently Used (LRU), el cual básicamente va eliminando los datos que han sido utilizados de manera menos reciente, pues ello significa que el programa no accede a ellos de manera regular comparado con otra información.

Ejemplos

REDIS es soportado en una gran variedad de lenguajes, pero para fines de ilustración de funcionamiento básico, vamos a ver cómo trabaja en PHP.

Predis es un cliente de REDIS para PHP, para lo cual es necesario descargarlo para poder utilizarlo. En nuestro código de PHP simplemente definimos la variable:

Para poder trabajar con el almacenamiento y las herramientas que nos proporciona REDIS.

Listas

Trabajar con listas en REDIS es muy similar como pasa en el caso de los lenguajes de programación, como se puede observar a continuación:

Tablas de dispersión

Para las tablas de dispersión es un uso similar, solo que ahora se hace uso de llaves para acceder a la información necesaria.

Referencia:

 

 

 

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.