Redis -Partitionierung

Redis -Partitionierung

In Redis bezieht sich die Partitionierung auf die Aufteilung von Daten in mehrere Instanzen. Dies bedeutet, dass jeder Redis einen Abschnitt Ihres gesamten Datensatzes enthält. Es ist eine praktische Funktion, insbesondere im Umgang mit großen Datensätzen.

Sehen wir uns verschiedene Arten der Partitionierung in Redis und die Kosten und Vorteile der einzelnen an.

Arten der Redis -Partitionierung

Es gibt zwei Partitionierungsmechanismen in Redis:

  1. Reichweite Partitionierung
  2. Hash -Partitionierung

Aufteilung

Der beste Weg, um die Partitionierung zu erklären, besteht darin, eine Analogie zu verwenden. Angenommen, Sie haben vier Redis -Instanzen: R0, R1, R2 und R3. Nehmen wir auch an, Sie müssen Schlüssel im Format des Benutzers speichern: [ID].

Sie können die Bereichs -Partitionierung verwenden, um Daten in die verfügbaren Redis -Instanzen aufzuteilen.

In der Reichweite der Partitionierung zeichnen Sie einen Abschnitt Ihrer Daten in eine bestimmte Instanz ab. Sie können beispielsweise die Schlüssel vom Benutzer nehmen: [ID - ID] und sie auf Instanz R0 zuordnen. Instanz R1 kann die Tastenuntergruppe von Benutzer [ID - ID] usw. halten.

Dies ist die einfachste und am meisten anwendbarste Form der Partitionierung in Redis. Es bietet jedoch eine Einschränkung.

Die Reichweite -Partitionierung erfordert eine Tabelle, die einen bestimmten Bereich an seinen entsprechenden Cluster ordnet.

Die Mapping -Tabelle muss für jeden partitionierten Datentyp verwaltet und angewendet werden.

Hash -Partitionierung

Die zweite Alternative zur Range -Partitionierung ist die Hash -Partitionierung. Redis verwendet eine Hashing -Funktion, um einen Schlüssel in eine Zahl in dieser Partitionierungsmethode umzuwandeln.

Wenn wir beispielsweise eine wichtige „Tatsache“ haben, können wir sie mit einer Hashing-Funktion wie CRC-16 in eine Zahl konvertieren.

Dies sollte die Nummer als 8167 zurückgeben.

Redis wendet dann einen Modulo -Betrieb auf die Nummer an und gibt das Ergebnis von 0 auf 3 zurück.

Zum Beispiel:

8167 % 2

Die obige Operation sollte 1 zurückgeben. Redis verwendet dann diesen Wert, um zu bestimmen, in welchem ​​Cluster der Schlüssel gespeichert werden sollte. In unserem Beispiel wird der Schlüssel „Tatsache“ in der Instanz R1 gespeichert.

NOTIZ: Dies ist nicht so, wie Hashingbetrieb in Redis durchgeführt wird. Das obige ist nur eine Analogie.

Vorteile der Partitionierung.

  1. Durch die Partitionierung können mehrere Instanzen den Speicher teilen und Daten speichern.
  2. Ermöglichen Sie die Skalierung der Rechenleistung.

Nachteile der Aufteilung

  1. Mehrfachtastenbetrieb ist nicht unterstützt.
  2. Sie können keine Redis -Transaktion mit mehreren Schlüssel durchführen.
  3. Führt Unklarheiten im Umgang mit Ausdauer ein.
  4. Schrumpfen oder wachsende Daten erweisen sich als schwierig.

Abschluss

In diesem Leitfaden haben Sie den verschiedenen Mechanismus zur Redis -Partitionierung entdeckt. Überprüfen Sie die Dokumentation, um mehr zu erfahren.