Redis Grunddefinition
Redis ist ein Open‑Source‑System, geschrieben in ANSI‑C, ein netzwerkfähiges Key‑Value‑Datenbanksystem mit Arbeitsspeicher‑Speicherung und Datenpersistenz. Es bietet Client‑APIs für zahlreiche Programmiersprachen.
- Es zählt zu den NoSQL‑nicht‑relationalen Datenbanken;
- Es ist verwandt mit Memcached, bietet aber mehr Funktionen und behebt dessen Schwächen;
- Häufig eingesetzt als ergänzende Cache‑Lösung für relationale Datenbanken wie MySQL.
Unterstützte Datentypen
String:ZeichenkettentypList:Doppelt verkettete ListeSet:Ungeordnete Sammlungzset(sorted set):Sortierte SammlungHash:Hash‑Struktur (ähnlich wie Map)
Memcached unterstützt nur Zeichenketten, das ist einer der wichtigsten Unterschiede beider Systeme.
Eigenschaften
- Mehrsprachen‑Client‑Unterstützung
Offizielle SDKs für Java, C/C++, C#, PHP, JavaScript, Python, Ruby, Perl und weitere Sprachen sorgen für eine einfache Integration in Projekte. - Master‑Slave‑Synchronisation
Master‑Slave‑Replikation ermöglicht standortferne Backups und Lese‑Schreib‑Trennung zur Erhöhung der Verfügbarkeit. - Hohe Leistung
Daten liegen primär im Arbeitsspeicher, Lese‑ und Schreibzugriffe sind extrem schnell, es wird oft als verteilter Cache verwendet. - Persistenz‑Fähigkeit
Arbeitsspeicher‑Daten können auf Festplatte gespeichert werden, sodass nach Neustart nicht alle Daten verloren gehen (Memcached hat standardmäßig keine Persistenz).
Hintergrund
Das frühe Redis‑Projekt wurde von VMware gefördert, entwickelt und gepflegt.
Zur Demonstration verwenden wir ein einfaches WinForm(C#) Redis‑Client‑Demo, ein Einsteigerbeispiel für die C#‑Anbindung an Redis.
- Schlüssel‑Wert‑Paare setzen
- Wert per Schlüssel abfragen
Kurzer Vergleich Redis vs Memcached
| Eigenschaft | Redis | Memcached |
|---|---|---|
| Datentypen | 5 Basis‑Strukturen | Nur String‑Typ |
| Persistenz | Unterstützt RDB/AOF‑Persistenz | Keine Persistenz |
| Master‑Slave‑Replikation | Unterstützt | Keine native Unterstützung |
| Speicher‑Eviction | Mehrere Eviction‑Strategien | LRU‑Eviction |
Einführung
Next: Installation