Einführung

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.

  1. Es zählt zu den NoSQL‑nicht‑relationalen Datenbanken;
  2. Es ist verwandt mit Memcached, bietet aber mehr Funktionen und behebt dessen Schwächen;
  3. Häufig eingesetzt als ergänzende Cache‑Lösung für relationale Datenbanken wie MySQL.

Unterstützte Datentypen

  • String:Zeichenkettentyp
  • List:Doppelt verkettete Liste
  • Set:Ungeordnete Sammlung
  • zset(sorted set):Sortierte Sammlung
  • Hash:Hash‑Struktur (ähnlich wie Map)

Memcached unterstützt nur Zeichenketten, das ist einer der wichtigsten Unterschiede beider Systeme.

Eigenschaften

  1. 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.
  2. Master‑Slave‑Synchronisation
    Master‑Slave‑Replikation ermöglicht standortferne Backups und Lese‑Schreib‑Trennung zur Erhöhung der Verfügbarkeit.
  3. Hohe Leistung
    Daten liegen primär im Arbeitsspeicher, Lese‑ und Schreibzugriffe sind extrem schnell, es wird oft als verteilter Cache verwendet.
  4. 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

EigenschaftRedisMemcached
Datentypen5 Basis‑StrukturenNur String‑Typ
PersistenzUnterstützt RDB/AOF‑PersistenzKeine Persistenz
Master‑Slave‑ReplikationUnterstütztKeine native Unterstützung
Speicher‑EvictionMehrere Eviction‑StrategienLRU‑Eviction

Einführung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert