Redis: Datenstrukturen, Cache und Abfragen in einem Server
In-Memory-Datenstrukturserver, der als Cache, Message Broker sowie Dokumenten- und Vektor-Abfrage-Engine für Echtzeit- und datengetriebene Anwendungen dient.
Auf einen Blick
- Was ist das?
- redis wird anhand der README, der beschriebenen Architektur und der konkreten Einsatzgrenzen eingeordnet.
- Für wen ist es gedacht?
- Geeignet ist redis für Nutzer, deren Arbeitsablauf zu den dokumentierten Funktionen passt. Nicht geeignet ist es als pauschale Zusage für nicht beschriebene Plattformen, Leistung oder Support.
- Darf ich es kommerziell nutzen?
- Erst prüfen. Die Lizenz dieses Repositorys ordnen wir nicht automatisch ein; lesen Sie vor jeder kommerziellen Nutzung die LICENSE-Datei.
- Wird es noch gepflegt?
- Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich C, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Der dokumentierte Projektumfang · redis redis
Das README beginnt damit, Redis in eigenen Worten zu definieren: Für Entwickler, die Echtzeit-Datenanwendungen bauen, ist Redis der bevorzugte, schnellste und funktionsreichste Cache, Datenstruktur-Server sowie Dokument- und Vektorabfrage-Engine. Derselbe Abschnitt hält eine Umbenennung fest: Redis Community Edition (Redis CE) wurde mit der v8.0-Veröffentlichung in Redis Open Source umbenannt. Das README behauptet außerdem eine sehr niedrige Latenz, oft unter einer Millisekunde, für Lese- und Schreiboperationen, weil Daten hauptsächlich im Speicher gehalten werden. Die Repository-Metadaten ergänzen die Grundlagen: Das Projekt ist in C geschrieben, der Standardzweig heißt unstable, und GitHub weist 75.882 Sterne, 24.749 Forks und 2.891 offene Issues aus.
Die zentrale Arbeitsweise · redis redis
Das README listet acht zentrale Anwendungsfälle auf. Caching unterstützt mehrere Verdrängungsrichtlinien, Schlüsselablauf und Hash-Feld-Ablauf. Ein verteilter Sitzungsspeicher modelliert Sitzungsdaten als Strings, JSON oder Hashes. Als Datenstruktur-Server bietet Redis niedrige Strukturen wie Strings, Listen, Mengen, Hashes, sortierte Mengen und JSON sowie höhere Semantik wie Zähler, Warteschlangen, Bestenlisten und Ratenbegrenzer, dazu Transaktionen und Skripting. Der Rest der Liste umfasst einen NoSQL-Datenspeicher für Schlüssel-Wert-, Dokument- und Zeitreihendaten; eine Such- und Abfrage-Engine mit Indizierung für Hash- und JSON-Dokumente; einen Ereignisspeicher und Message-Broker auf Basis von Listen, sortierten Mengen, Mengen, Streams und Pub/Sub; einen Vektorspeicher für generative KI-Anwendungen; und Echtzeit-Analysen für Personalisierung, Empfehlungen, Betrugserkennung und Risikobewertung.
Konkrete Dateien und Schnittstellen · redis redis
Der Datentyp-Abschnitt ist der längste im README, und die Breite ist der Punkt. Strings sind Bytesequenzen für Caching, Zähler und Bitoperationen; JSON unterstützt verschachtelte Dokumente, die mit JSONPath indiziert werden; Arrays sind dünn besetzte, indexadressierbare String-Sammlungen; Hashes sind Feld-Wert-Abbildungen mit Feldablauf. Redis Search wird beschrieben als Funktion, die Redis in eine Dokumentdatenbank, Vektordatenbank, Sekundärindex und Suchmaschine verwandelt. Listen, Mengen und sortierte Mengen decken Stapel, Warteschlangen, eindeutige Verfolgung und Bestenlisten ab. Ein Vektorset-Datentyp erscheint als Beta. Geodaten-Indizes, Bitmaps, Bitfelder, HyperLogLog und eine Familie probabilistischer Strukturen (Bloom-Filter, Cuckoo-Filter, t-digest, Top-k, Count-Min-Sketch) stehen neben Zeitreihen, Pub/Sub, Streams, Transaktionen und Lua-Skripting für serverseitige Programmierbarkeit.
Abhängigkeiten im Alltag · redis redis
Wer Redis ohne Kompilieren ausführen möchte, wird vom README auf Redis Cloud, offizielle Docker-Images und Binärdistributionen über Snap, Homebrew, RPM und Debian-Pakete verwiesen. Das Docker-Beispiel lautet docker run -d -p 6379:6379 redis:latest. Die im README gezeigte redis-cli-Sitzung lässt ping PONG zurückgeben, set foo bar OK, get foo bar und incr einen Zähler von 1 auf 2 erhöhen. Redis Insight wird als visuelles Werkzeug beschrieben, das zugleich als Lern- und Einführungsplattform dient und einen Assistenten für natürliche Sprache namens Redis Copilot integriert. Client-Bibliotheken werden für Python, C#/.NET, JavaScript, Java, Go, PHP und C aufgeführt, und für mehrere dieser Sprachen gibt es Starter-Projekte.
Grenzen der README · redis redis
Der Build-Abschnitt gilt für Redis 8.10 und höher; für ältere Versionen verweist das README auf den 8.8-Zweig. Die Abhängigkeiten sind versionssensibel: GCC oder Clang, LLVM 21, CMake 3.25 bis 3.31.6, Rust 1.94, OpenSSL, Python 3 und diverse Entwicklungsbibliotheken. CMake 4.x wird ausdrücklich nicht unterstützt. Das make-bootstrap-Ziel erkennt das Betriebssystem und installiert die Voraussetzungen jedes gebündelten Moduls; make bootstrap list zeigt ohne Installation, was fehlt, und make bootstrap dry-run gibt die genauen Installationsbefehle pro Modul aus. Eine Docker-Build-Umgebung, docker/Dockerfile.noble auf Basis von Ubuntu 24.04, wird empfohlen, damit die Host-Toolchain unangetastet bleibt. Release-Tarballs backen die Modulkonfiguration in redis.conf, während ein Git-Checkout make modules-update und die automatisch erzeugte redis-full.conf benötigt.
Lizenz und Betriebsfragen · redis redis
Das README nennt Linux, OSX, OpenBSD, NetBSD und FreeBSD als unterstützte Plattformen; Solaris-abgeleitete Systeme werden nach bestem Bemühen unterstützt. Zu den Build-Flags gehören BUILD_TLS=yes für TLS, USE_SYSTEMD=yes für Systemd-Integration, PROG_SUFFIX zum Anhängen eines Suffixes an Programznamen, make 32bit für 32-Bit-Binaries und BUILD_COMPRESSION=yes für zstd-Kompression des Replikationsstreams ab 8.10. Der Allokator wird über die Umgebungsvariable MALLOC gewählt, standardmäßig jemalloc auf Linux und libc malloc sonst. Die monotone Uhr verwendet standardmäßig POSIX clock_gettime, auf ARM aarch64 ist die Hardware-Uhr standardmäßig aktiviert. make distclean löscht gecachte Build-Optionen und Abhängigkeitszustand, make test führt die Testsuite aus.
Ein projektspezifischer Prüfpfad · redis redis
Das README beschreibt ein versionsabhängiges Lizenzschema. Versionen 7.2.x und früher stehen unter BSDv3; 7.4.x bis 7.8.x unter Wahl von RSALv2 oder SSPLv1; 8.0.x und später unter einer Dreifachlizenz aus RSALv2, SSPLv1 oder AGPLv3 nach Ihrer Wahl. Codebeiträge werden unter der Redis Software Grant and Contributor License Agreement geleistet; das README verweist auf CONTRIBUTING.md und SECURITY.md. Es stellt außerdem fest, dass die mit BUILD_INTEL_SVS_OPT=yes gebauten Intel-SVS-VAMANA-Optimierungen Closed Source sind und nicht mit AGPLv3- oder SSPLv1-Distributionen kombiniert werden können. Der mitgelieferte Lizenzauszug stellt fest, dass unter dem üblichen Pfad keine LICENSE-Datei gefunden wurde, sodass der vollständige Lizenztext nicht zu den verfügbaren Quellen gehört. Ein eigener Abschnitt erklärt, dass Redis Inhaber der eingetragenen Marken für Name und Logo ist und eine Markenrichtlinie unter redis.io veröffentlicht.
Prüfung mit redis
Starte Redis mit einer isolierten redis.conf, prüfe die in README genannten Datenstrukturen und messe Persistenz, Speichergrenze und Verhalten nach einem Neustart. Dieser Ablauf prüft genau die vom Projekt genannten Eingaben, Dateien und Ergebnisse. Ein erfolgreicher Minimaltest belegt keinen Dauerbetrieb, keine allgemeine Kompatibilität und keine Sicherheitsgarantie.
Redaktionelles Fazit
Geeignet ist redis für Nutzer, deren Arbeitsablauf zu den dokumentierten Funktionen passt. Nicht geeignet ist es als pauschale Zusage für nicht beschriebene Plattformen, Leistung oder Support. Zuerst sollte geprüft werden: Starte Redis mit einer isolierten redis.conf, prüfe die in README genannten Datenstrukturen und messe Persistenz, Speichergrenze und Verhalten nach einem Neustart.
Community-Notizen