Startseite
Themen
Redis
Redis (REmote DIctionary Server) ist eine Open-Source-Lösung für In-Memory-NoSQL-Schlüssel/Wert-Speicher, die hauptsächlich als Anwendungscache oder schnell reagierende Datenbank verwendet wird.
Redis (Link befindet sich außerhalb von ibm.com) speichert Daten direkt im Arbeitsspeicher, anstatt sie auf einem Festplattenlaufwerk oder einem Solid-State-Laufwerk (SSD) unterzubringen. So lässt sich eine beispiellose Geschwindigkeit, Zuverlässigkeit und Leistung erzielen, die mit herkömmlichen Speicherlösungen nicht ohne weiteres zu erreichen ist.
Wenn eine Anwendung auf externe Datenquellen angewiesen ist, führen die Latenz und der Durchsatz dieser Quellen häufig zu einem Leistungsengpass. Das kann insbesondere dann vorkommen, wenn der Datenverkehr zunimmt oder die Anwendung skaliert wird. In solchen Fällen kann die Leistung maßgeblich erhöht werden, indem Daten im Arbeitsspeicher gespeichert und verarbeitet werden. Auf diese Weise befinden sich die Daten physisch näher an der Anwendung, was den Zugriff deutlich erleichtert und beschleunigt. Redis ist speziell für diese Aufgabe ausgelegt: Es speichert alle Daten im Arbeitsspeicher und bietet so die schnellstmögliche Leistung beim Lesen oder Schreiben von Daten. Zudem bietet es integrierte Replikationsfunktionen, mit denen sich Daten physisch näher am Benutzer speichern und laden lassen, um die niedrigste Latenz zu erzielen.
Zu den weiteren erwähnenswerten Merkmalen von Redis gehören die Unterstützung mehrerer Datenstrukturen, eine integrierte Lua-Skripterstellung, mehrere Ebenen von On-Disk-Persistenz und hohe Verfügbarkeit.
Nutzen Sie dieses Framework zur KI-Modellauswahl, um das am besten geeignete Modell zu finden und dabei Ihre Leistungsanforderungen mit den Kosten, Risiken und Bereitstellungsanforderungen in Einklang zu bringen.
Redis unterscheidet sich von „herkömmlichen“ NoSQL-Datenspeichern, da es als Zusatzkomponente fungiert, die speziell zur Verbesserung der Anwendungsleistung entwickelt wurde. Zu den Unterscheidungsmerkmalen von Redis gehört unter anderem:
Im Gegensatz zu NoSQL-Datenbanken wie MongoDB und PostgreSQL speichert Redis Daten im Hauptspeicher des Servers statt auf Festplatten und SSDs. Dies führt zu deutlich schnelleren Reaktionszeiten bei Lese- und Schreibvorgängen. Es trägt auch dazu bei, eine hohe Verfügbarkeit (besonders bei gemeinsamer Nutzung mit Redis Sentinel) und Skalierbarkeit von Services und Anwendungs-Workloads sicherzustellen.
Redis kann Aufgaben, deren Verarbeitung durch Web-Clients länger als gewöhnlich dauern würde, in eine Warteschlange stellen. Die Warteschlangenverwaltung für Multiprozess-Aufgaben ist in vielen der heutigen webbasierten Anwendungen üblich. Redis erleichtert die Implementierung automatisierter, in Python geschriebener Prozesse, die im Hintergrund von Anfrage-/Antwortzyklen ausgeführt werden.
Redis ist zwar aus technischer Sicht ein Schlüssel/Wert-Speicher. Eigentlich handelt es sich dabei aber um einen Datenstrukturserver, der mehrere Datentypen und -strukturen unterstützt. Dazu gehören unter anderem:
Redis bietet native Client-Integrationsfunktionen, die Entwicklern die Bearbeitung und Interaktion mit ihren Daten erleichtern. Derzeit sind in der Redis-Client-Bibliothek weit über 100 verschiedene Open-Source-Clients verfügbar. Darüber hinaus können Entwickler problemlos neue Integrationen hinzufügen, um zusätzliche Funktionen und Programmiersprachen zu unterstützen.
Redis verfügt über eine Vielzahl wichtigster und bemerkenswertester Merkmalen. Dazu gehören unter anderem:
Redis Sentinel (Link befindet sich außerhalb von ibm.com) ist ein eigenständiges verteiltes System, das Entwicklern dabei hilft, ihre Instanzen so zu kalibrieren, dass sie eine hohe Verfügbarkeit für Kunden aufweisen. Sentinel verwendet eine Reihe von Überwachungsprozessen, Benachrichtigungen und automatischen Failovers, um Benutzer zu informieren, wenn etwas mit Master- und Slave-Instanzen nicht stimmt. Bei Bedarf konfiguriert es außerdem automatisch neue Verbindungen für Anwendungen.
Redis Cluster (Link befindet sich außerhalb von ibm.com) ist eine verteilte Implementierung von Redis, die Datensätze automatisch auf mehrere Knoten aufteilt. Dies sorgt für eine höhere Leistung und Skalierbarkeit von Datenbankbereitstellungen und gewährleistet gleichzeitig einen kontinuierlichen Betrieb für den Fall, dass Knotenuntergruppen nicht mit dem Rest des Clusters kommunizieren können.
Da Redis die Verwendung von Pub/Sub (Publish and Subscribe, also Veröffentlichen und Abonnieren)-Befehlen unterstützt (Link befindet sich außerhalb von ibm.com), können Benutzer leistungsstarke Chat- und Messaging-Dienste für all ihre Anwendungen und Services entwerfen. Dies umfasst die Fähigkeit, Listendatenstrukturen zu verwenden, um atomare Operationen und Blockierungsfunktionen auszuführen.
Redis verwendet persistenten Festplattenspeicher (Link befindet sich außerhalb von ibm.com). Dieser Speicher ist so konzipiert, dass er Prozessausfälle und Netzwerk-Engpässe übersteht. Redis kann Datensätze beibehalten, indem es regelmäßig Momentaufnahmen der Daten erstellt und diese mit den Änderungen versieht, sobald diese verfügbar sind. Anschließend kann es so konfiguriert werden, dass diese Datenbank-Backups bei Bedarf oder in automatischen Intervallen erstellt werden. Auf diese Weise können Sie die Langlebigkeit und Integrität Ihrer Datenbank gewährleisten.
Sowohl Redis als auch Memcached sind Open-Source-Lösungen für In-Memory-Datenspeicher, unterscheiden sich jedoch in Bezug auf ihre Vorteile und Funktionen. Memcached wird oft für einfache Anwendungen bevorzugt, die weniger Speicherressourcen benötigen. Beim Speichern von Daten in seiner serialisierten Form stößt die Lösung allerdings an gewisse Grenzen. Die Verwendung von Datenstrukturen durch Redis bietet eine viel höhere Leistung bei der Arbeit mit großen Datensätzen. Zudem bietet Redis mehr Möglichkeiten zur Feinabstimmung von Cache-Inhalten und zur Aufrechterhaltung einer höheren Effizienz in bestimmten Anwendungsszenarien.
Redis und MongoDB weisen deutliche Unterschiede in ihrer Konzipierung auf: Während Redis ein In-Memory-Datenbankspeicher ist, wird MongoDB in erster Linie als On-Disk-Dokumentenspeicher genutzt. Obwohl beide Lösungen für unterschiedliche Zwecke entwickelt wurden, werden sie oft zusammen verwendet, um die Geschwindigkeit und Effizienz von NoSQL-Datenbanken zu maximieren. Aufgrund seiner Caching-Fähigkeit kann Redis erforderliche Daten extrem schnell lokalisieren und als Aufnahmepuffer dienen, der MongoDB effizienter macht. Außerdem ist MongoDB in Kombination mit Redis dazu in die Lage, größere Dokumentaktualisierungen mit hoher Frequenz nahezu in Echtzeit zu verwalten. Da MongoDB große Datenmengen speichern und Redis diese schneller verarbeiten kann, stellt die Kombination der beiden Lösungen ein leistungsstarkes Datenbankverwaltungskonzept für eine Vielzahl von Anwendungsfällen dar.
Unternehmen jeder Art können ihre Abläufe mithilfe von Redis optimieren. Hier finden Sie einige gängige Anwendungsfälle:
Der Einstieg in Redis ist ein nahtloser Prozess, insbesondere bei Verwendung des Redis Desktop Manager (RDM) (Link befindet sich außerhalb von ibm.com). Da Redis und RDM Open-Source-Software sind, arbeiten aktive Entwicklergemeinschaften ständig daran, ihre Betriebseffizienz zu verbessern und unterstützte Tools und Integrationen kontinuierlich weiterzuentwickeln. Durch die Zusammenarbeit zahlreicher Personen an einem gemeinsamen Ziel ist der Installationsprozess von Redis also komfortabel gestaltet und leicht durchzuführen.
Weitere Informationen zur Installation und Einrichtung von Redis finden Sie in den Installationsanweisungen in der Community (Link befindet sich außerhalb von ibm.com).
Ein Open-Source-In-Memory-Schlüsselwertspeicher, der für den modernen Anwendungsstapel entwickelt wurde.
Erfahren Sie, wie Sie die richtige Datenbank für Ihre cloudnative Anwendung auswählen.
Lesen Sie alles, was Sie über NoSQL wissen müssen, und entdecken Sie ein Datenbankdesign, das mehr Flexibilität bietet als herkömmliche Datenbanken.
Entdecken Sie die Funktionen und Vorteile von MongoDB als Teil Ihrer Datenbankverwaltungslösung für Unternehmen.