Si estas interesado en NoSQL, almacenamiento en memoria, caches y estructuras de datos que pueden usarse para computación distribuida, sigue leyendo porque hablaremos de Redis.
Hoy os traemos una charla en la que os vamos a hablar del servidor Redis y de cómo funciona bajo Java con las librerías Jedis.
Redis es un motor de base de datos NoSQL en memoria, un memcached en esteroides basado en almacenamiento clave valor de datos. Además tiene diferentes tipos de datos y operaciones, de naturaleza atómica, combinados con una rapidez de ejecución impresionante. De hecho, la lectura y la escritura es quizá de las más rápidas que hay ahora mismo en el mercado. No solamente está en memoria, secundariamente persiste sus datos. Y todavía guarda más sorpresas: listas bloqueantes, canales de mensajes pub/sub, scripting en Lua, etc. Por supuesto Redis es open-source (BSD).
Todas las operaciones y todas las transacciones, al menos en el tratamiento de datos, son atómicas (es decir hay un mono-hilo), y esa atomicidad es muy útil no solamente para el tratamiento de datos sino para garantizar logs, computación distribuida, etc. Esta característica de Redis, como veremos más adelante en la charla, es muy potente.
En Redis hay diferentes estructuras de datos que se pueden almacenar. El valor puede ser tanto otro string como una lista de datos o un mapa, pero solamente hay un tipo de datos que es String en UFT-8 ó bytes, es decir el mapa será de strings, la lista será de strings, si es un valor único es un string… Redis tiene capacidad de scripting en el lenguaje de programación LUA, que también es muy rápido y la ejecución de cada script también es atómica. Los datos además pueden tener tiempos de expiración opcional y Redis puede funcionar también como una caché.
Redis es un servidor de base de datos muy popular. Está entre los motores NoSQL más valorados del mercado, es usado por gigantes como Twitter y ofrecido como servicio por Microsoft, Alibaba, Amazon, etc.
Por eso, si quieres aprender más en profundidad los conceptos de este nuevo servidor, junto con el código Java de ejemplo, te dejamos el vídeo de este 101PanelTechDays. Si estás trabajando con otro lenguaje, recuerda que los ejemplos son muy sencillos y hay más de 20 drivers/librerías en diferentes lenguajes. En la charla, exploraremos casos de uso y utilidades distribuidas que se pueden hacer con Redis, aplicables a otros proyectos de Panel o de clientes.
La presentación y el código fuente están (y seguirán estando) disponibles en GitHub como un proyecto abierto, además de más recursos por si queréis seguir profundizando en el tema, en este enlace:
https://github.com/oscar-besga-panel/YaitRedisAndJedis.
0 comentarios