Startseite

Themen

Redis

Was ist Redis?
Entdecken Sie die Redis-Lösung von IBM Für KI-Updates anmelden
Illustration mit Collage aus Piktogrammen von Wolken, Kreisdiagramm, Diagrammpiktogrammen
Was ist 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.

So wählen Sie das richtige Foundation Model für die KI

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.

Ähnliche Inhalte Registrieren Sie sich für das E-Book zum Thema Presto
Differenzierende Funktionen

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:

Redis-Cache-Sitzungen

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-Warteschlangen

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-Datentypen

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:

  • Eindeutige und unsortierte String-Elemente

  • Binary-safe-Daten

  • HyperLog-Protokolle

  • Bit-Arrays

  • Hashes

  • Listen

Handhabung von Redis-Clients

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.

Funktionen

Redis verfügt über eine Vielzahl wichtigster und bemerkenswertester Merkmalen. Dazu gehören unter anderem:

Redis Sentinel

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

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.

Redis Pub/Sub

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-Persistenz

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.

Redis vs. Memcached

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 vs. MongoDB

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.

Anwendungsfälle

Unternehmen jeder Art können ihre Abläufe mithilfe von Redis optimieren. Hier finden Sie einige gängige Anwendungsfälle:

  • Echtzeitanalyse: Da Redis Daten mit einer Latenzzeit von weniger als einer Millisekunde verarbeiten kann, eignet es sich ideal für Echtzeitanalysen, Online-Werbekampagnen und KI-gesteuerte maschinelle Lernprozesse. Unternehmen können Redis überall dort einsetzen, wo Daten unmittelbar verfügbar sein müssen. So können beispielsweise Unternehmen im Finanzsektor von Börsenkursen in Echtzeit profitieren, während ein KI-Unternehmen von Sensoren ausgelesene Daten unmittelbar verarbeiten kann, um die Funktion seiner Algorithmen zu verbessern und Machine Learning voranzutreiben.

  • Standortbezogene Anwendungen: Redis vereinfacht die Entwicklung standortbasierter Anwendungen und Dienste durch die Bereitstellung von georäumlicher Indizierung, Sets und Operationen. Mithilfe von sortierten Mengen kann Redis das zeitaufwendige Suchen und Sortieren von Standortdaten auslagern und gleichzeitig eine intelligente Geo-Hashing-Implementierung nutzen.

  • Caching für Datenbanken: Redis kann große Mengen an Echtzeitdaten verarbeiten und nutzt seine In-Memory-Datenspeicherfunktionen, um hochreaktive Datenbankkonstrukte zu unterstützen. Das Caching mit Redis ermöglicht es, die erforderliche Menge an Datenbankzugriffen deutlich zu reduzieren, wodurch das Datenverkehrsvolumen und die Anzahl der notwendigen Instanzen reduziert werden können. Durch die Verwendung von Redis für das Caching können Entwicklungsteams den jeweiligen Durchsatz ihrer Anwendungen erheblich verbessern, indem sie Latenzzeiten von unter einer Millisekunde erreichen. Da die Caching-Ebene von Redis schnell und wirtschaftlich skaliert werden kann, sind Organisationen in der Lage, derartig hochreaktive Anwendungen zu entwickeln und gleichzeitig ihre Gesamtausgaben zu senken. Die minimale Reaktionszeit ermöglicht es Unternehmen also, ihre Anwendungen so zu gestalten, dass Nutzer sie ohne spürbare Verzögerung verwenden können. Das dadurch drastisch verbesserte Nutzererlebnis kann die Kundenbindung vertiefen und fördern, dass Nutzer mit höherer Wahrscheinlichkeit gewünschte Aktionen durchführen – beispielsweise Käufe oder Aboabschlüsse.

    – Pub-Sub-Funktionen für Echtzeitkommunikation: Immer mehr Unternehmen integrieren Chatfunktionen in ihre Anwendungen. Aufgrund des hohen Bedienungskomforts der Messaging-Dienste, die Nutzer regelmäßig heute in ihrem Alltag verwenden, sind auch die Ansprüche an diese Chatfunktionen hoch. Daher ist es wichtig, eine solide Basis für eine Echtzeitkommunikation zu wählen. Seine Pub-Sub-Funktionen machen Redis dafür zu einer erstklassigen Wahl, mit der sich eine nahtlose und komplett verzögerungsfreie Kommunikation ermöglichen lässt.
Installation von Redis

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).

Weiterführende Lösungen
IBM Cloud Databases for Redis

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

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

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

Was ist eine NoSQL-Datenbank?

Lesen Sie alles, was Sie über NoSQL wissen müssen, und entdecken Sie ein Datenbankdesign, das mehr Flexibilität bietet als herkömmliche Datenbanken.

Was ist MongoDB?

Entdecken Sie die Funktionen und Vorteile von MongoDB als Teil Ihrer Datenbankverwaltungslösung für Unternehmen.

Machen Sie den nächsten Schritt

IBM Cloud Databases for Redis ist eine vollständig verwaltete Lösung zur Implementierung der leistungsstarken In-Memory-Caching-Funktionen von Redis in Ihren modernen Anwendungs-Stack. Databases for Redis ist eine für Unternehmen konzipierte Lösung, mit der Sie Festplatten und Arbeitsspeicher unabhängig voneinander skalieren können. So erhalten Sie die Flexibilität, die Sie benötigen, um den wachsenden Ressourcenanforderungen der innovativsten Anwendungen gerecht zu werden.

Cloud Databases for Redis erkunden