Estructuras de datos

Diseñado pensando en los desarrolladores y a diferencia de los almacenes de datos clave-valor simplistas, las estructuras de datos de Redis ofrecen formas flexibles de modelar sus datos para muchos casos prácticos en aplicaciones modernas. Estas sofisticadas estructuras de datos te permiten desarrollar aplicaciones con menos líneas de código elegante para almacenar, acceder y utilizar tus datos y permiten un procesamiento potente y rápido en memoria.

Estas estructuras de datos evitan la sobrecarga asociada a la traducción entre objetos de la aplicación a entidades de la base de datos para cada operación de la base de datos.

Redis ofrece Strings, Hashes, Lists, Sets, Sorted Sets, Bitmaps, Bitfields, HyperLogLog, Geospatial indexes, y Streams como estructuras de datos nativas. Con cada estructura de datos, Redis mantiene comandos exclusivos para permitir la ejecución de operaciones de varios tipos de manera eficaz.

Strings

Uno de los bloques de construcción más versátiles de Redis, Redis Strings, es una estructura de datos binaria segura. Puede almacenar cualquier tipo de datos: una cadena, un entero, un valor de punto flotante, una imagen JPEG, un objeto Ruby serializado o cualquier otra cosa que desee que tenga. Operar sobre una cadena completa o partes, e incrementar o decrementar números enteros y flotantes.


Sets

La estructura de datos Redis Sets almacena un conjunto único de miembros. Con los conjuntos, puede añadir, recuperar o eliminar miembros, comprobar la pertenencia o recuperar un miembro al azar. También puedes realizar operaciones con conjuntos, como la intersección, la unión y la diferencia de conjuntos, y calcular la cardinalidad de los conjuntos.


Sorted Sets

Los Redis Sorted Sets contienen un conjunto único de miembros ordenados por puntuaciones de punto flotante. Al igual que con los conjuntos, puede añadir, recuperar o eliminar miembros individuales y realizar operaciones de conjunto como la unión, la intersección, la diferencia de conjuntos y calcular la cardinalidad. Además, también puede consultar el conjunto basándote en la puntuación o el valor del miembro, agregar, filtrar y ordenar los resultados.


Lists

Las Redis Lists contienen colecciones de elementos de cadena ordenados según su orden de inserción. Empuja o saca elementos de ambos extremos, recorte en función de los desplazamientos, lea elementos individuales o múltiples, o busque o elimine elementos por valor y posición. También se pueden realizar llamadas de bloqueo para las transferencias asíncronas de mensajes.


Hashes

De forma similar a los documentos en un almacén de documentos o a las filas en una base de datos relacional, la estructura de Redis Hashes almacena un conjunto de pares campo-valor. Ofrece la posibilidad de añadir, recuperar o eliminar elementos individuales y recuperar todo el hash, o utilizar uno o varios campos del hash como contador.


Bitmaps

Redis Bitmaps es una estructura de datos compacta para almacenar lógica y estados binarios. Ofrece comandos para obtener y establecer un valor de bit en una posición determinada, y realizar operaciones YOXORNO entre múltiples claves de mapa de bits.


Bitfields

Los Bitfields ofrecen una forma eficiente y compacta de implementar múltiples contadores en una sola matriz. Permite incrementar y decrementar los contadores en una posición determinada, y marca el desbordamiento cuando el contador alcanza su límite superior.


HyperLogLog

Redis HyperLogLog  es una estructura de datos probabilística que se usa para contar valores únicos (cardinalidad del conjunto) con un tamaño de memoria constante. Puede añadir y contar un gran número de elementos únicos con eficiencia de memoria, y fusionar dos o más estructuras de datos de HyperLogLog en una sola.


Geospatial indexes

Los Geospatial Indexes proporcionan una forma extremadamente eficiente y sencilla de gestionar y utilizar los datos geoespaciales en Redis. Puedes añadir elementos únicos con latitud y longitud, calcular la distancia entre objetos y encontrar miembros dentro de un rango de radio determinado desde una ubicación.


Streams

Redis Streams es una estructura de datos increíblemente potente para gestionar flujos de datos de alta velocidad (como una cola de mensajes). Con la partición, replicación y persistencia listas para usar, puede capturar y procesar millones de datos por segundo con una latencia inferior a un milisegundo. Redis Streams se basa en una eficiente implementación de árbol radix, que hace que las consultas de rango y búsqueda sean extremadamente rápidas. Conecta a productores y consumidores con llamadas asíncronas y admite grupos de consumidores.