Was ist Redis?

Ein Mann, der an einem großen Fenster in einer modernen Bibliothek sitzt, während er an einem Laptop arbeitet.

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

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.

3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

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.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Funktionen

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

Redis Sentinel

Redis Sentinel 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 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, 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 . 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

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:

  • Echtzeit-Analysen: Da Redis Daten mit einer Latenz von weniger als einer Millisekunde verarbeiten kann, eignet es sich super für Echtzeit-Analysen, Online-Werbekampagnen und Prozesse, die durch künstliche Intelligenz (KI) oder maschinelles Lernen gesteuert werden.

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

Installation von Redis

Der Einstieg in Redis ist ein nahtloser Prozess, insbesondere bei Verwendung des Redis Desktop Manager (RDM). 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 Einrichtungsanweisungen in der Community.

Weiterführende Lösungen
Datenbanksoftware und -lösungen

Mit IBM Datenbanklösungen können Sie verschiedene Workload-Anforderungen in der Hybrid Cloud erfüllen.

Datenbank-Lösungen erkunden
Cloudnativ-Datenbank mit IBM Db2

Erfahren Sie mehr über IBM Db2: eine relationale Datenbank, die hohe Leistung, Skalierbarkeit und Zuverlässigkeit für das Speichern und Verwaltung strukturierter Daten bietet. Die Lösung ist als SaaS in der IBM Cloud oder als Self-Hosting-Option verfügbar.

Db2 entdecken
Beratungsservices für Daten und Analysen

Erschließen Sie den Wert von Unternehmensdaten mit IBM Consulting und bauen Sie ein erkenntnisorientiertes Unternehmen auf, das Ihnen geschäftliche Vorteile verschafft.

Analyse-Services entdecken
Machen Sie den nächsten Schritt

Mit IBM Datenbanklösungen können Sie verschiedene Workload-Anforderungen in der Hybrid Cloud erfüllen.

Datenbank-Lösungen erkunden IBM Db2 entdecken