Redis

Almacén de datos en memoria, de código abierto y rápido que puede utilizarse como base de datos, caché, agente de mensajes y cola.

¿Qué es Redis?

Redis es un almacén de datos clave-valor, en memoria, de código abierto y rápido, que puede utilizarse como base de datos, caché, agente de mensajes y cola. Ofrece tiempos de respuesta inferiores a milisegundos, lo que permite que se realicen millones de solicitudes por segundo para aplicaciones en tiempo real de videojuegos, tecnología publicitaria, servicios financieros, sanidad e IoT. Redis es una opción muy conocida de almacenamiento en caché, administración de sesiones, análisis en tiempo real, datos geoespaciales, chat/mensajería, streaming de contenido multimedia y tablas de clasificación de videojuegos.

¿Cómo funciona Redis?

Todos los datos de Redis residen en la memoria, a diferencia de las bases de datos que almacenan datos en discos o SSD. Como no hay ninguna necesidad de obtener acceso al disco, los almacenes de datos en memoria, como Redis, evitan los retrasos y pueden obtener acceso a los datos en cuestión de milisegundos. Redis incluye estructuras de datos versátiles, alta disponibilidad, datos geoespaciales, secuencias de datos Lua, transacciones, persistencia en disco y soporte de clúster, lo que simplifica la creación de aplicaciones a escala de Internet en tiempo real.

Amazon ElastiCache para Redis

Redis completamente administrado con cifrado, cambio de tamaño del clúster online, alta disponibilidad y conformidad. Más información >>

Beneficios de Redis

Almacén de datos en memoria

Todos los datos de Redis residen en la memoria principal del servidor, a diferencia de bases de datos como PostgreSQL, Cassandra, MongoDB, entre otras, que almacenan la mayor parte de los datos en discos o SSD. En comparación con las bases de datos tradicionales basadas en disco, donde la mayoría de las operaciones implican ir y volver al disco, los almacenes de datos en memoria como Redis no se ven afectados de la misma manera. Por lo tanto, pueden admitir una orden de magnitud, más operaciones y tiempos de respuesta más rápidos. El resultado es rendimiento increíblemente rápido con operaciones de lectura o escritura promedio que se ejecutan en menos de un milisegundo y capacidad para procesar millones de operaciones por segundo.

Estructuras de datos flexibles

A diferencia de los almacenes de datos de clave valor simplistas que ofrecen estructuras de datos limitadas, Redis cuenta con una amplia variedad de estructuras de datos para satisfacer los requisitos de sus aplicaciones. Los tipos de datos de Redis incluyen:

  • Cadenas: datos de texto o binarios de hasta 512 MB de tamaño
  • Listas: una colección de cadenas en el orden en que se agregaron
  • Conjuntos: una colección desordenada de cadenas con la capacidad para intercalarse, unirse y diferenciarse de otros tipos de conjuntos
  • Conjuntos ordenados: conjuntos ordenados por un valor
  • Hashes: una estructura de datos para almacenar una lista de campos y valores
  • Mapas de bits: un tipo de datos que ofrece operaciones a nivel de bits
  • HyperLogLogs: una estructura de datos probabilísticos para estimar los elementos únicos en un conjunto de datos

Simplicidad y facilidad de uso

Redis simplifica el código porque le permite escribir menos líneas de código para almacenar, obtener acceso y utilizar datos en sus aplicaciones. Por ejemplo, si su aplicación tiene datos almacenados en un hashmap y desea almacenarlos en un almacén, puede usar la estructura de datos hash de Redis para hacerlo. Una tarea de similares características en un almacén de datos sin estructuras de datos hash necesitaría muchas líneas de código para realizar la conversión de un formato a otro. Redis incluye estructuras de datos originales y muchas opciones para trabajar e interactuar con ellos. Los desarrolladores de Redis tienen a su disposición más de cien clientes de código abierto. Entre los lenguajes admitidos se encuentran Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R, Go y muchos otros.

Replicación y persistencia

Redis utiliza una arquitectura con servidor principal y réplica y admite la replicación asíncrona en la que los datos se replican en numerosos servidores de réplicas. De este modo, se logra un mejor nivel de rendimiento de lectura (ya que las solicitudes se pueden repartir entre varios servidores) y menores tiempos de recuperación cuando el servidor principal sufre un corte. Por una cuestión de persistencia, Redis admite copias de seguridad puntuales (copia el conjunto de datos Redis en el disco).

Alto nivel de disponibilidad y escalabilidad

Redis ofrece una arquitectura con servidor principal y réplica en una topología en clústeres o principal con un único nodo. Esto permite crear soluciones con un alto nivel de disponibilidad, lo que ofrece fiabilidad y rendimiento estables. Cuando se necesita ajustar el tamaño de un clúster, se encuentran disponibles diferentes opciones de escalado. Esto permite que el tamaño del clúster se ajuste a sus necesidades.

Extensibilidad

Redis es un proyecto de código abierto que cuenta con el apoyo de una comunidad activa. No hay limitaciones de proveedores ni tecnología porque Redis está basado en estándares abiertos, admite formatos de datos abiertos y cuenta con una completa base de clientes.

Almacenamiento en caché

Redis es una excelente opción para implementar una caché en memoria de alta disponibilidad a fin de reducir la latencia de acceso a los datos, incrementar la capacidad de procesamiento y aliviar la carga de la aplicación y de la base de datos relacional o NoSQL. Redis puede abastecer elementos solicitados con frecuencia en tiempos de respuesta inferiores a un milisegundo, y le permite ajustar la escala con facilidad en caso de cargas mayores sin tener que ampliar el costoso backend. El almacenamiento en caché de resultados de consultas en bases de datos, de sesiones persistentes, de páginas web y de objetos de uso frecuente, como imágenes, archivos y metadatos, son ejemplos comunes de tipos de almacenamiento en caché que se pueden realizar con Redis.

Chat, mensajería y colas

Redis admite tareas de publicación y suscripción con correspondencia de patrones y una variedad de estructuras de datos, como listas, conjuntos ordenados y hashes. Eso le permite a Redis respaldar salas de chat de alto rendimiento, streaming de comentarios en tiempo real, actividades en redes sociales e intercomunicaciones entre servidores. La estructura de datos de Listas de Redis facilita la implementación de una cola liviana. Las listas ofrecen operaciones atómicas, así como capacidades de bloqueo, por lo que resultan aptas para una variedad de aplicaciones que requieren un agente de mensajes fiable o una lista circular.

Tablas de clasificación de videojuegos

Redis es una de las opciones favoritas de los desarrolladores de videojuegos que necesitan crear tablas de clasificación con datos generados en tiempo real. Simplemente utilice la estructura de datos de los conjuntos clasificados de Redis, que proporciona singularidad de elementos, mientras que mantiene la lista ordenada por puntaje de usuarios. Crear una lista de clasificación en tiempo real es tan sencillo como actualizar la puntuación de un usuario cada vez que cambia. También puede utilizar los conjuntos clasificados para administrar datos de serie temporal con sellos de tiempo como puntuación.

Almacén de sesiones

Redis, un almacén de datos en memoria con un alto nivel de disponibilidad y persistencia, es una de las opciones favoritas de los desarrolladores de aplicaciones para almacenar y administrar datos de sesiones para aplicaciones a escala de Internet. Redis ofrece la latencia menor a un milisegundo, la escala y la resiliencia necesarias para administrar datos de sesiones, como perfiles de usuarios, credenciales, estados de sesiones y personalización específica para usuarios.

Streaming completo de contenido multimedia

Redis ofrece un almacén de datos en memoria y ágil para respaldar casos de uso de streaming en directo. El almacenamiento de metadatos de Redis se puede utilizar para perfiles de usuarios e historial de visualizaciones, tokens/información de autenticación para millones de usuarios y archivos de manifiestos para permitir que CDN haga streaming de videos a millones de usuarios de aplicaciones móviles y de escritorio en un determinado momento.

Análisis geoespacial

Redis ofrece estructuras de datos en memoria y operadores personalizados para administrar datos geoespaciales a escala y con velocidad. Los comandos como GEOADD, GEODIST, GEORADIUS y GEORADIUSBYMEMBER utilizados para almacenar, procesar y analizar datos geoespaciales en tiempo real facilitan y agilizan las tareas con Redis. Puede usar Redis para agregar características basadas en ubicación geográfica, como tiempo de conducción, distancia recorrida y puntos de interés, a sus aplicaciones.

Aprendizaje automático

Las aplicaciones modernas basadas en datos exigen que el aprendizaje automático procese rápidamente grandes volúmenes de datos variados y ágiles, y que automatice la toma de decisiones. Para casos de uso como la detección de fraudes en juegos y servicios financieros, las subastas en tiempo real en el sector de la tecnología publicitaria y las coincidencias en aplicaciones de citas y viajes compartidos, la capacidad para procesar datos instantáneamente y tomar decisiones en decenas de milisegundos tiene una importancia fundamental. Redis le proporciona un almacén de datos en memoria para crear, entrenar e implementar rápidamente modelos de aprendizaje automático.

Análisis en tiempo real

Redis se puede usar con soluciones de streaming, como Apache Kafka y Amazon Kinesis, como almacén de datos en memoria para incorporar, procesar y analizar datos en tiempo real con una latencia menor a un milisegundo. Redis es la opción ideal para casos de uso de análisis en tiempo real, como análisis de datos de redes sociales, focalización de anuncios, personalización e IoT.

Compatibilidad con lenguajes

Redis admite la mayoría de los principales protocolos y lenguajes de programación, incluidos:

Python

Java

PHP

Redis completamente administrado en AWS

Amazon ofrece un servicio de Redis completamente administrado, Amazon ElastiCache para Redis, disponible para probar sin costo mediante la capa de uso gratuita de AWS. Amazon ElastiCache para Redis facilita las tareas de configuración, utilización y escalado de implementaciones de Redis en la nube. Con Amazon ElastiCache, puede realizar implementaciones de Redis a escala de Internet en unos minutos, con capacidad de hardware rentable y de tamaño ajustable.
Comience a utilizar Amazon ElastiCache para Redis de manera gratuita en tres sencillos pasos:
Amazon Elasticache para Redis

Inscribirse

Aprender a usar Amazon ElastiCache para Redis

Aprender con tutoriales simples

Comenzar a utilizar ElastiCache para Redis

Empezar a crear

Comenzar a crear con la ayuda de la guía del usuario.