En esta página:
Como muchos motores, sistemas o tecnologías que permiten almacenar datos, Redis cuenta con sus propios tipos de datos que lo hacen único y exclusivo. En la mayoría de casos los tipos de datos que tiene la mayoria de base de datos son similares y eso es genial, porque si ya los conocemos de otro sistema de base de datos, solo debemos aprender como funcionan en un determinado sistema de base de datos. En este Post te compartiré los Tipos de Datos en Redis, vamos con ello.
Antes de continuar, te invito a escuchar el Podcast: “Con Que Lenguaje De Programación Comenzar Para El Desarrollo Web” y “¿ Porqué Es Importante Saber Programar en la Ciberseguridad ?” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: Tipos de Datos en Redis.
Tipos de Datos en Redis
Redis es un servidor de estructura de datos. En esencia, Redis proporciona una colección de tipos de datos nativos que te ayudan a resolver una amplia variedad de problemas, desde el almacenamiento en caché hasta la cola y el procesamiento de eventos.
Puedes encontrar más imágenes como la anterior, en nuestra página de flyers.
A continuación te compartiré una breve descripción de cada tipo de datos:
Strings
Las strings en Redis almacenan secuencias de bytes, incluidos texto, objetos serializados y matrices binarias. Como tal, las strings son el tipo de datos de Redis más básico. A menudo se usan para el almacenamiento en caché, pero admiten funciones adicionales que te permiten implementar contadores y realizar operaciones bit a bit también. De forma predeterminada, una sola string de Redis puede tener un máximo de 512 MB.
Lists
Las listas de Redis son listas vinculadas de valores de strings. Las listas Redis se utilizan con frecuencia para implementar pilas y colas. También para la creación de gestión de colas de sistemas de trabajo en segundo plano. La longitud máxima de una lista de Redis es 2^32 – 1 (4,294,967,295) elementos.
Sets
Un set de Redis es una colección desordenada de cadenas únicas (miembros). Puedes usar los conjuntos de Redis para:
- Rastrear elementos únicos (p. ej., rastree todas las direcciones IP únicas que acceden a una publicación de blog determinada).
- Representar relaciones (por ejemplo, el conjunto de todos los usuarios con un rol dado).
- Realizar operaciones de conjuntos comunes, como intersección, uniones y diferencias.
El tamaño máximo de un set de Redis es 2^32 – 1 (4,294,967,295) miembros.
Hashes
Los hashes de Redis son tipos de registro estructurados como colecciones de pares de valor de campo. Puedes usar hashes para representar objetos básicos y almacenar agrupaciones de contadores, entre otras cosas.
Cada hash puede almacenar hasta 4 294 967 295 (2^32 – 1) pares de valores de campo. En la práctica, sus valores hash están limitados solo por la memoria general en las máquinas virtuales que alojan su implementación de Redis.
Sorted sets
Un sorted set de Redis es una colección de cadenas únicas (miembros) ordenadas por una puntuación asociada. Cuando más de una cadena tiene la misma puntuación, las cadenas se ordenan lexicográficamente. Algunos casos de uso para conjuntos ordenados incluyen:
- Tablas de clasificación. Por ejemplo, puedes usar conjuntos ordenados para mantener fácilmente listas ordenadas de las puntuaciones más altas en un juego masivo en línea.
- Limitadores de velocidad. En particular, puedes usar un conjunto ordenado para crear un limitador de tasa de ventana deslizante para evitar solicitudes de API excesivas.
Los sorted sets de Redis a veces se usan para indexar otras estructuras de datos de Redis.
Streams
Un stream de Redis es una estructura de datos que actúa como un registro de solo anexar. Puedes usar secuencias para grabar y sindicar simultáneamente eventos en tiempo real. Ejemplos de casos de uso de transmisión de Redis incluyen:
- Abastecimiento de eventos (p. ej., seguimiento de acciones de usuarios, clics, etc.).
- Supervisión de sensores (p. ej., lecturas de dispositivos en el campo)
- Notificaciones (p. ej., almacenar un registro de las notificaciones de cada usuario en un flujo separado).
Redis genera una ID única para cada entrada de stream. Puedes usar estos ID para recuperar sus entradas asociadas más tarde o para leer y procesar todas las entradas posteriores en la stream.
Los stream de Redis admiten varias estrategias de recorte (para evitar que los stream crezcan sin límites) y más de una estrategia de consumo.
Indices Geoespaciales
Los índices geoespaciales de Redis te permiten almacenar coordenadas y buscarlas. Esta estructura de datos es útil para encontrar puntos cercanos dentro de un radio o cuadro delimitador determinado.
Bitmaps
Los mapas de bits de Redis son una extensión del tipo de datos de cadena que te permite tratar una cadena como un vector de bits. También puedes realizar operaciones bit a bit en una o más cadenas. Algunos ejemplos de casos de uso de mapas de bits incluyen:
- Representaciones de conjuntos eficientes para casos en los que los miembros de un conjunto corresponden a los números enteros 0-N.
- Permisos de objeto, donde cada bit representa un permiso particular, similar a la forma en que los sistemas de archivos almacenan los permisos.
Bitfields
Los campos de bits de Redis te permiten establecer, incrementar y obtener valores enteros de longitud de bits arbitraria. Por ejemplo, puede operar con cualquier cosa, desde enteros de 1 bit sin signo hasta enteros de 63 bits con signo.
Estos valores se almacenan mediante cadenas Redis codificadas en binario. Los campos de bits admiten operaciones atómicas de lectura, escritura e incremento, lo que los convierte en una buena opción para administrar contadores y valores numéricos similares.
HyperLogLog
HyperLogLog es una estructura de datos que estima la cardinalidad de un conjunto. Como estructura de datos probabilísticos, HyperLogLog ofrece una precisión perfecta para una utilización eficiente del espacio.
La implementación de Redis HyperLogLog utiliza hasta 12 KB y proporciona un error estándar del 0,81 %.
HyperLogLog puede estimar la cardinalidad de conjuntos con hasta 18 446 744 073 709 551 616 (2^64) miembros.
Bien, estos son todos los tipos de datos que al menos hasta la fecha de este Post tiene Redis. Si deseas aprender más sobre estos tipos de datos, puedes leer su documentación oficial.
Conclusión
En este artículo has aprendido varios detalles sobre los tipos de datos que tiene Redis. Conocerlos te permitirá saber en que momento usarlos, porque te devuelve tal estructura de datos y sobre todo hacer que un proyecto que almacene datos en Redis, funcione de manera óptima. En otros tutoriales aprenderemos como trabajan estos tipos de datos.
Nota (s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.