Was ist Redis?
Erkunden Sie die Funktionen und Vorteile der Verwendung von Redis als Datenbankmanagementlösung für Unternehmen.
Darstellung eines blauen Halbkreises
Was ist Redis?

Redis (für REmote DIctionary Server) (IBM-externer Link) ist ein speicherinterner Open-Source-NoSQL-Schlüssel/Wertespeicher, der in erster Linie als Anwendungscache oder Quick-Response-Datenbank verwendet wird. Da die Daten im Speicher und nicht auf einer Festplatte oder einem Solid-State-Laufwerk (SSD) gespeichert werden, bietet Redis unvergleichliche Geschwindigkeit, Reliabilität und Durchsatz.

Wenn eine Anwendung auf externe Datenquellen angewiesen ist, können die Latenz und der Durchsatz dieser Quellen einen Leistungsengpass darstellen, insbesondere wenn der Datenverkehr zunimmt oder die Anwendung skaliert wird. Eine Möglichkeit, den Durchsatz in diesen Fällen zu verbessern, ist die Speicherung und speicherinterne Bearbeitung von Daten, also näher an der Anwendung. Redis wurde für diese Aufgabe entwickelt: Es speichert alle Daten im Arbeitsspeicher und bietet so den schnellstmöglichen Durchsatz beim Lesen und Schreiben von Daten. Außerdem verfügt es über integrierte Replizierungsfunktionen, mit denen Sie Daten physisch näher am Benutzer platzieren können, um die Latenz so gut wie möglich zu verringern.

Zu den weiteren erwähnenswerten Merkmalen von Redis gehören die Unterstützung mehrerer Datenstrukturen, integriertes Lua-Scripting, mehrere On-Disk-Permanenzstufen und hohe Verfügbarkeit.

Differenzierendes Leistungsspektrum

Redis unterscheidet sich von "traditionellen" NoSQL-Datenspeichern als Zusatzkomponente, die speziell zur Verbesserung der Anwendungsleistung entwickelt wurde. Nachfolgend einige Besonderheiten im Leistungsspektrum von Redis:

Redis-Cache-Sitzungen

Im Gegensatz zu NoSQL-Datenbanken wie MongoDB und PostreSQL speichert Redis die Daten im Hauptspeicher des Servers und nicht auf Festplatten oder Halbleiter-Laufwerken. Dies ermöglicht deutlich schnellere Reaktionszeiten bei Lese- und Schreibvorgängen. Außerdem trägt es zur Hochverfügbarkeit (zusammen mit Redis Sentinel – siehe unten) und Skalierbarkeit von Services und Anwendungs-Workloads bei.

Redis-Warteschlangen

Redis kann Aufgaben in eine Warteschlange stellen, deren Bearbeitung durch Webclients länger dauern kann als üblich. Multi-Prozess-Warteschlangensteuerung ist in vielen webbasierten Anwendungen von heute gang und gäbe, und Redis macht es einfach, automatisierte, in Python geschriebene Prozesse zu implementieren, die im Hintergrund von Anfrage/Antwort-Zyklen laufen.

Redis-Datentypen

Obwohl es sich technisch gesehen um einen Schlüssel/Wertespeicher handelt, ist Redis eigentlich ein Datenstrukturserver, der mehrere Datentypen- und Strukturen unterstützt, darunter die folgenden:

  • Eindeutige und unsortierte Zeichenfolgenelemente

  • Binärsichere Daten

  • HyperLogLogs

  • Bit-Arrays

  • Hashes

  • Listen

Redis-Client-Handhabung

Redis bietet native Client-Integrationsfunktionen, mit denen Entwickler ihre Daten bearbeiten und mit ihnen interagieren können. Derzeit sind in der Redis-Client-Bibliothek weit über 100 verschiedene Open-Source-Clients verfügbar, und Entwickler können problemlos neue Integrationen hinzufügen, um zusätzliche Funktionen und Programmiersprachen zu unterstützen.

Features

Zu den wichtigsten und bemerkenswertesten Eigenschaften von Redis gehören die folgenden:

Redis Sentinel

Redis Sentinel (IBM-externer Link) Ist ein eigenständiges verteiltes System, das Entwicklern hilft, ihre Instanzen so zu kalibrieren, dass sie für Kunden hochverfügbar sind. Sentinel nutzt eine Reihe von Überwachungsprozessen, Benachrichtigungen und automatischen Failovers, um Benutzer zu informieren, wenn mit Master- und Slave-Instanzen etwas nicht in Ordnung ist, und konfiguriert bei Bedarf automatisch neue Verbindungen für Anwendungen.

Redis Cluster

Redis Cluster (IBM-externer Link) ist eine verteilte Implementierung von Redis, die Datensätze automatisch auf mehrere Knoten aufteilt. Dies ermöglicht höheren Durchsatz und Skalierbarkeit von Datenbankimplementierungen und gewährleistet gleichzeitig einen kontinuierlichen Betrieb für den Fall, dass Knotenuntergruppen nicht mit dem Rest des Clusters kommunizieren können.

Redis Pub/Sub

Da Redis die Verwendung von Pub/Sub-Befehlen unterstützt (IBM-externer Link), können Benutzer leistungsstarke Chat- und Messaging-Dienste für alle ihre Anwendungen und Services entwickeln. Dazu gehört die Möglichkeit, Listendatenstrukturen zu verwenden, um atomare Unternehmensaktivitäten und Blockungen auszuführen.

Redis-Permanenz

Redis nutzt einen persistenten Plattenspeicher (IBM-externer Link), der dafür ausgelegt ist, Prozessausfälle und Netzengpässe zu überstehen. Redis kann Datensätze als persistent definieren, indem es regelmäßig Momentaufnahmen von Daten macht und sie mit Änderungen anhängt, sobald diese verfügbar sind. Redis kann dann so konfiguriert werden, dass diese Datenbank-Backups bei Bedarf oder in automatischen Intervallen erstellt werden, um die Dauerhaftigkeit und Integrität der Datenbank zu gewährleisten.

Redis vs. Memcached

Sowohl Redis als auch Memcached sind speicherinterne Open-Source-Datenspeicher, die sich jedoch in Bezug auf ihre Vorteile und Funktionen unterscheiden. Memcached ist oft die bevorzugte Wahl für einfache Anwendungen, die weniger Speicherressourcen benötigen, aber es ist begrenzt, wenn Daten in ihrer serialisierten Form gespeichert werden. Die Verwendung von Datenstrukturen in Redis bietet viel mehr Leistung bei der Arbeit mit großen Datensätzen und mehr Möglichkeiten zur Feinabstimmung des Cache-Inhalts und zur Aufrechterhaltung einer größeren Effizienz in bestimmten Anwendungsszenarien.

Redis vs. MongoDB

Während Redis ein speicherintern Datenbankspeicher ist, ist MongoDB als Dokumentenspeicher auf der Festplatte bekannt. Obwohl beide Lösungen für unterschiedliche Zwecke entwickelt wurden, werden sie oft zusammen verwendet, um die Geschwindigkeit und Effizienz einer NoSQL-Datenbank zu maximieren. Aufgrund seiner Zwischenspeicherungsfähigkeit kann Redis benötigte Daten extrem schnell positionieren und dient als Eingabepuffer, der MongoDB effizienter macht und in der Lage ist, eine größere Anzahl von Dokumentenaktualisierungen nahezu in Echtzeit zu verwalten. Mit der Fähigkeit von MongoDB, große Datenmengen zu speichern, und der Fähigkeit von Redis, diese schneller zu verarbeiten, bietet die Kopplung eine leistungsstarke Datenbankmanagementlösung für eine Vielzahl von Anwendungsfällen.

Anwendungsfälle

Hier sind einige häufige Anwendungsfälle, von denen Unternehmen bei der Arbeit mit Redis profitieren:

  • Echtzeit-Analyse: Da Redis Daten mit einer Latenz von weniger als einer Millisekunde verarbeiten kann, ist es ideal für Echtzeit-Analysen, Online-Werbekampagnen und KI-gesteuerte maschinelle Lernprozesse.

  • Standortbezogene Anwendungen: Redis vereinfacht die Entwicklung von standortbezogenen Anwendungen und Services durch die Bereitstellung von georäumlichen Indexierungen, Sätzen und Unternehmensaktivitäten. Durch die Verwendung von sortierten Gruppen kann Redis die zeitaufwändige Suche und Sortierung von Positionsdaten auslagern und gleichzeitig eine intelligente Geo-Hashing-Implementierung verwenden.

  • Zwischenspeichern für Datenbanken: Redis ist in der Lage, große Mengen an Echtzeitdaten zu verarbeiten, indem es seine datenspeicherinternen Fähigkeiten nutzt, um hochgradig reaktionsfähige Datenbankkonstrukte zu unterstützen. Das Zwischenspeichern mit Redis ermöglicht weniger Datenbankzugriffe, was dazu beiträgt, den Datenverkehr und die erforderlichen Instanzen zu reduzieren. Durch den Einsatz von Redis für die Zwischenspeicherung können Entwicklerteams den Durchsatz ihrer Anwendungen drastisch verbessern, indem sie eine Latenz von weniger als einer Millisekunde erreichen. Und da die Zwischenspeicherungschicht von Redis schnell und kostengünstig skaliert werden kann, sind Unternehmen in der Lage, diese reaktionsschnellen Anwendungen zu entwickeln und gleichzeitig ihre Gesamtausgaben zu senken.
Redis installieren

Der Einstieg in Redis ist ein ziemlich nahtloser Prozess, insbesondere mit dem Redis Desktop Manager (RDM) (IBM-externer Link). Und da Redis und RDM Open Source sind, arbeiten aktive Entwicklergemeinschaften ständig an der Verbesserung ihrer Effizienz und der kontinuierlichen Weiterentwicklung der unterstützten Tools und Integrationen.

Weitere Informationen zur Installation und Einrichtung von Redis finden Sie in den Einrichtungsanweisungen in der Community (IBM-externer Link).

Zugehörige Lösungen
IBM Cloud® Databases for Redis

Ein Open-Source, In-Memory-Schlüsselwertspeicher, der für den modernen Anwendungsstack entworfen wurde.

IBM® Cloud Databases for Redis erkunden
So wählen Sie eine Datenbank in der IBM Cloud aus

Erfahren Sie, wie Sie die richtige Datenbank für Ihre Cloud-native Anwendung auswählen.

Was ist eine NoSQL-Datenbank?

Alles, was Sie über NoSQL wissen müssen – ein Datenbankdesign, das höhere Flexibilität bietet als traditionelle Datenbanken.

Was ist MongoDB?

In diesem Handbuch werden die Funktionen und Vorteile der Verwendung von MongoDB als Teil der Managementlösung Ihrer Unternehmensdatenbank untersucht.

Machen Sie den nächsten Schritt

IBM® Cloud Databases for Redis ist eine vollständig verwaltete Lösung zur Implementierung der leistungsstarken Speichercaching-Funktionen von Redis in Ihren modernen Anwendungsstack. Databases for Redis ist eine auf Unternehmen abgestimmte Lösung, die eine unabhängige Skalierung von Festplatte und Arbeitsspeicher ermöglicht und Ihnen die nötige Flexibilität bietet, um den wachsenden Ressourcenbedarf der innovativsten Anwendungsanforderungen zu erfüllen.

Weitere Informationen zu IBM® Cloud Databases for Redis