Redis

Der schnelle Open-Source-in-Memory-Datenspeicher kann als Datenbank, Cache-Speicher, Message Broker und Warteschlange genutzt werden.

Was ist Redis?

Redis ist ein blitzschneller Open-Source-in-Memory-Key-Value-Datenspeicher, der als Datenbank, Cache-Speicher, Message Broker und Warteschlange genutzt werden kann. Er bietet Reaktionszeiten von unter einer Millisekunde und kann so Millionen von Anforderungen für Echtzeitanwendungen in den Bereichen Gaming, Ad-Tech, Finanzdienstleistungen, Gesundheitswesen und IoT verarbeiten. Redis wird häufig eingesetzt für Caching, Sitzungsmanagement, Echtzeitanalysen, Geodaten, Chat/Messaging, Media-Streaming und Spiele-Bestenlisten.

Wie funktioniert Redis?

Im Gegensatz zu Datenbanken, die Daten auf Festplatte oder SSDs speichern, befinden sich bei Redis alle Daten im In-Memory-Datenspeicher. Durch den Wegfall des erforderlichen Platten- bzw. Datenträgerzugriffs treten bei In-Memory-Datenspeichern wie Redis keine Verzögerungen aufgrund von Suchzeiten auf. Die Daten sind innerhalb von Mikrosekunden zugänglich. Redis bietet vielseitige Datenstrukturen, hohe Verfügbarkeit, Geodaten, Lua-Scripting, Transaktionen, On-Disk-Persistenz und Cluster-Unterstützung, sodass Echtzeit-Internet-Apps leichter erstellt werden können.

Amazon ElastiCache für Redis

Vollständig verwaltetes Redis mit Verschlüsselung, Online-Cluster-Resizing, hoher Verfügbarkeit und Compliance. Weitere Informationen >>

Vorteile von Redis

In-Memory-Datenspeicher

Im Gegensatz zu Daten in Datenbanken wie PostgreSQL, Cassandra, MongoDB und weiteren, die die meisten Daten auf Festplatten oder SSDs speichern, befinden sich sämtliche Redis-Daten im Hauptspeicher des Servers. Verglichen mit herkömmlichen datenträgerbasierten Datenbanken, bei denen für die meisten Vorgänge Roundtrips zum Speichermedium erforderlich sind, kommt es bei In-Memory-Datenspeichern wie Redis zu keinen solchen Zeiteinbußen. Folglich unterstützen die Datenspeicher eine ungleich höhere Anzahl an Operationen mit wesentlich kürzeren Reaktionszeiten. Der Vorteil – eine blitzschnelle Leistung für durchschnittliche Lese- oder Schreibvorgänge von unter einer Millisekunde sowie Unterstützung von Millionen Operationen pro Sekunde.

Flexible Datenstrukturen

Entgegen schematischen Schlüsselwert-Datenspeichern, die begrenzte Datenstrukturen anbieten, verfügt Redis über eine Vielzahl von Datenstrukturen, um Ihre individuellen Anwendungsanforderungen zu erfüllen. Redis unterstützt folgende Datentypen:

  • Zeichenfolgen – Text- oder Binärdaten mit einer Größe von bis zu 512 MB
  • Listen – mehrere Zeichenfolgen in der Reihenfolge ihrer Hinzufügung
  • Sätze – mehrere unsortierte Zeichenfolgen, die sich mit anderen Satzarten überschneiden, vereinen oder voneinander unterscheiden können
  • Sortierte Sätze – nach Wert aufgelistete Sätze
  • Hashes – eine Datenstruktur zum Speichern einer Liste mit Feldern und Werten
  • Bitmuster – ein Datentyp, der Vorgänge auf Bitebene ermöglicht
  • HyperLog-Protokolle – eine probabilistische Datenstruktur, die eindeutige Elemente in einem Datensatz schätzt

Einfachheit und Benutzerfreundlichkeit

Redis vereinfacht Ihren Code, indem es Ihnen ermöglicht, weniger Codezeilen zum Speichern, Zugreifen und Verwenden von Daten in Ihren Anwendungen zu schreiben. Sind in Ihrer Anwendung Daten in einer Hash-Zuordnung gespeichert, die Sie in einem Datenspeicher speichern möchten, dann können Sie einfach die Hash-Datenstruktur von Redis zum Speichern der Daten nutzen. Ein ähnlicher Vorgang in einem Datenspeicher ohne Hash-Datenstrukturen würde zahlreiche Codezeilen erfordern, um eine Konvertierung von einem Format in ein anderes vorzunehmen. Redis verfügt über native Datenstrukturen sowie viele Möglichkeiten, um Ihre Daten zu bearbeiten und damit zu interagieren. Redis-Entwicklern stehen mehr als einhundert Open-Source-Clients zur Verfügung. Zu den unterstützten Sprachen gehören Java, Python, PHP, C, C++, C#, JavaScript, Node.js, Ruby, R, Go und viele andere.

Replikation und Beständigkeit

Redis verwendet eine primäre Replikatarchitektur und unterstützt die asynchrone Replikation, bei der Daten auf mehrere Replikatserver repliziert werden können. Auf diese Weise können eine verbesserte Leseleistung, da Anforderungen auf Server verteilt werden können, und eine schnellere Wiederherstellung bereitgestellt werden, falls der primäre Server ausfallen sollte. Für Beständigkeit unterstützt Redis Zeitpunktsicherungen (der Redis-Datensatz wird auf eine Festplatte kopiert).

Hohe Verfügbarkeit und Skalierbarkeit

Redis bietet eine primäre Replikatarchitektur auf einem einzelnen Primärknoten oder in einer Cluster-Topologie. So können Sie hochverfügbare Lösungen erstellen, die konsistente Leistung und Zuverlässigkeit ermöglichen. Wenn Sie die Cluster-Größe anpassen möchten, stehen Ihnen viele Möglichkeiten zur horizontalen und vertikalen Skalierung sowie zur horizontalen Herunterskalierung zur Verfügung. Folglich kann Ihr Cluster entsprechend Ihren Anforderungen angepasst werden.

Erweiterbarkeit

Redis ist ein Open-Source-Projekt das von einer dynamischen Community unterstützt wird. Mit Redis bestehen keine Abhängigkeiten von Anbietern oder Technologie, da der Datenspeicher auf offenen Standards beruht, offene Datenformate unterstützt und über zahlreiche Clients verfügt.

Caching

Redis ist eine großartige Wahl für die Implementierung eines In-Memory-Caches mit hoher Verfügbarkeit, durch den sich die Latenz des Datenzugriffs reduziert, der Durchsatz erhöht und die Last für Ihre relationale oder NoSQL-Datenbank bzw. -Anwendung verringert. Redis kann häufig angeforderte Elemente mit Reaktionszeiten von unter einer Millisekunde verarbeiten. Außerdem können Sie problemlos für höhere Belastungen skalieren, ohne dass das kostspielige Back-end größer wird. Das Caching von Ergebnissen aus Datenbankabfragen, durchgehenden Sitzungen, Webseiten und häufig verwendeter Elemente, wie Images, Dateien sowie Metadaten, sind beliebte Beispiele für Caching mit Redis.

Chat, Messaging und Warteschlangen

Redis unterstützt Pub/Sub mit einem Musterabgleich und einer Vielzahl von Datenstrukturen wie Listen, sortierten Sätzen und Hashes. Auf diese Weise kann Redis Chat-Räume, Echtzeit-Kommentar-Streams, Feeds in sozialen Medien sowie Server-Interkommunikation mit hoher Leistung unterstützen. Die Redis List-Datenstruktur vereinfacht das Implementieren einer benutzerfreundlichen Warteschlange. Listen bieten atomare Vorgänge und Blockierungsfunktionen, sodass sie sich für verschiedene Anwendungen eignen, die einen zuverlässigen Message Broker oder eine Kreisliste erfordern.

Spielebestenlisten

Redis ist eine beliebte Option unter Spieleentwicklern, die Echtzeit-Bestenlisten erstellen möchten. Verwenden Sie einfach die Redis Sorted Set-Datenstruktur, die Eindeutigkeit von Elementen bereitstellt und die nach Punkten von Benutzern sortierte Liste beibehält. Das Erstellen einer Echtzeit-Rangliste ist so einfach wie das Aktualisieren der Punkte eines Benutzers bei jeder Änderung. Sie können Sorted Sets auch verwenden, um Zeitreihendaten mithilfe von Zeitstempeln als Punkte zu verarbeiten.

Sitzungsspeicher

Redis ist ein In-Memory-Datenspeicher mit hoher Verfügbarkeit und Beständigkeit, der sich bei Anwendungsentwicklern großer Beliebtheit erfreut, da damit Sitzungsdaten für Anwendungen im Internet gespeichert und verwaltet werden können. Der Datenspeicher bietet Latenzen von unter einer Millisekunde, Skalierung und Ausfallsicherheit, die für die Verwaltung von Sitzungsdaten, wie Benutzerprofilen, Anmeldeinformationen, Sitzungsstatus sowie benutzerspezifischer Personalisierung, erforderlich sind.

Umfassendes Medien-Streaming

Redis bietet einen schnellen In-Memory-Datenspeicher für die Ausführung von Live-Streaming-Anwendungsfällen. Redis kann des Weiteren zum Speichern von Metadaten zu Benutzerprofilen und zum Anzeigeverlauf, der Authentifizierungsinformationen und -Token für Millionen Benutzer sowie von Manifestdateien verwendet werden, um Netzwerke zur Bereitstellung von Inhalten (Content Delivery Networks, CDNs) zum Streamen von Videos für Millionen Benutzer von Mobil- und Desktopgeräten gleichzeitig zu aktivieren.

Geodaten

Redis bietet speziell entwickelte In-Memory-Datenstrukturen und -Operatoren zum Verwalten von Echtzeit-Geodaten nach Maß und bei hoher Geschwindigkeit. Die Redis-Befehle, z. B. GEOADD, GEODIST, GEORADIUS und GEORADIUSBYMEMBER, zum Speichern, Verarbeiten und Analysieren von Geodaten in Echtzeit gestalten den Umgang mit Geodaten schnell und einfach. Sie können Redis verwenden, um Ihren Anwendungen standortbezogene Funktionen wie Fahrtzeit, Entfernung sowie Sehenswürdigkeiten hinzuzufügen.

Machine Learning

Moderne datengesteuerte Anwendungen erfordern Machine Learning, um schnell große Datenvolumen, -unterschiede und -geschwindigkeiten zu verarbeiten sowie die Entscheidungsfindung zu automatisieren. Für Anwendungsfälle, wie Betrugsermittlung in Spielen und Finanz-Services, bei der Echtzeit-Gebotsabgabe in Ad-Tech, der Kontaktvermittlung beim Dating und bei Mitfahrgelegenheiten, ist die Fähigkeit, Live-Daten zu verarbeiten und Entscheidungen in unter einer Millisekunde zu treffen, von größter Bedeutung. Redis bietet Ihnen einen schnellen In-Memory-Datenspeicher zum zügigen Erstellen, Schulen und Bereitstellen von Machine-Learning-Modellen.

Echtzeitanalysen

Redis kann in Kombination mit anderen Streaming-Lösungen, wie Apache Kafka und Amazon Kinesis, als In-Memory-Datenspeicher eingesetzt werden, um Echtzeitdaten einzulesen und mit einer Latenz von unter einer Millisekunde zu verarbeiten und zu analysieren. Redis ist die ideale Wahl für Anwendungsfälle mit Echtzeitanalysen wie Analysen in sozialen Medien, gezielte Anzeigenschaltung, Personalisierung und IoT.

Unterstützung von Sprachen

Redis unterstützt die meisten führenden Programmiersprachen und -protokolle, einschließlich:

Python

Java

PHP

Vollständig verwaltetes Redis in AWS

Amazon bietet einen vollständig verwalteten Redis-Service, Amazon ElastiCache für Redis, der im Rahmen des kostenlosen Kontingents für AWS gebührenfrei getestet werden kann. Mit Amazon ElastiCache für Redis ist das Einrichten, Betreiben und Skalieren einer Redis-Bereitstellung in der Cloud ganz einfach. Dank Amazon ElastiCache können Sie binnen Minuten mithilfe kosteneffizienter und anpassbarer Hardwarekapazität Redis-Bereitstellungen im Internet realisieren.
Starten Sie mit dem kostenlosen Service Amazon ElastiCache für Redis in drei einfachen Schritten:
Amazon Elasticache für Redis

Registrieren

Lernen Sie Amazon Elasticache für Redis kennen

Mit einfachen Tutorials lernen

Erfahren Sie, wie Sie ein Redis-Cluster erstellen.
Erste Schritte mit ElastiCache für Redis

Die Erstellung beginnen.

Beginnen Sie die Erstellung mithilfe des Benutzerhandbuchs.