Heim  >  Artikel  >  Datenbank  >  Aufbau und Nutzung des Redis-Clusters

Aufbau und Nutzung des Redis-Clusters

WBOY
WBOYOriginal
2023-05-10 15:16:361570Durchsuche

Redis ist eine nicht relationale Hochleistungs-Schlüsselwertdatenbank mit Funktionen wie schnellem Lesen und Schreiben, Unterstützung mehrerer Datenstrukturen und Datenpersistenz. Sie wird häufig in Caches, Zählern, Nachrichtenwarteschlangen und anderen Szenarien verwendet. In tatsächlichen Anwendungen unterliegt die Leistung einer einzelnen Redis-Instanz bestimmten Einschränkungen. Daher muss ein Redis-Cluster verwendet werden, um horizontale Erweiterung und hohe Verfügbarkeit zu erreichen. In diesem Artikel werden der Aufbau und die Verwendung des Redis-Clusters vorgestellt.

1. Was ist Redis-Cluster? Redis-Cluster ist ein verteiltes System, das aus mehreren Redis-Knoten besteht. Die Datenkonsistenz wird durch Replikation und Sharding von Daten zwischen Knoten sichergestellt. Der Redis-Cluster verwendet den Sharding-Modus, um die Daten auf mehrere Knoten zu verteilen. Jeder Knoten speichert nur einen Teil der Daten durch einen bestimmten Algorithmus.

Der Redis-Cluster umfasst hauptsächlich zwei Knotentypen: Master-Knoten und Slave-Knoten. Der Master-Knoten ist für den Empfang von Schreibanforderungen von Clients, die Replikation der Daten des Master-Knotens von Slave-Knoten und den Empfang von Leseanforderungen von Clients verantwortlich. Zwischen Slave-Knoten kann auch eine Master-Slave-Replikationsbeziehung gebildet werden, um Knotenredundanz und Failover zu erreichen. Wenn der Master-Knoten ausfällt, wird einer der Slave-Knoten automatisch zum Master-Knoten, um die Verfügbarkeit des Clusters sicherzustellen.

2. Aufbau des Redis-Clusters

1. Umgebungsvorbereitung

Bevor Sie mit dem Aufbau des Redis-Clusters beginnen, müssen Sie die folgende Umgebung vorbereiten:

(1) Linux-Server: Er kann mit virtuellen Maschinen oder Cloud-Hosts erstellt werden . Es wird empfohlen, mindestens 3 Server vorzubereiten.

(2) Redis-Installationspaket: Laden Sie die neueste stabile Version des Redis-Installationspakets von der offiziellen Redis-Website (https://redis.io/download) herunter.

2. Installieren Sie Redis

Entpacken Sie das heruntergeladene Redis-Installationspaket auf den Server, kompilieren und installieren Sie Redis:

tar xvzf redis-6.0.7.tar.gz

cd redis-6.0.7

make
make install

Nach Abschluss der Installation können Sie den Redis-Server mit dem Befehl redis-server starten und mit dem Befehl redis-cli zum Testen eine Verbindung zum Redis-Server herstellen.

3. Konfigurieren und starten Sie den Redis-Cluster

Die Konfiguration des Redis-Clusters wird über eine Konfigurationsdatei redis.conf abgeschlossen. Erstellen Sie Konfigurationsdateien für mehrere Redis-Knoten auf dem Server mit den Namen redis_7000.conf, redis_7001.conf usw. Der Inhalt der Konfigurationsdatei für jeden Knoten lautet wie folgt:

Port 7000

cluster-enabled ja

cluster-config-file nodes_7000. conf
cluster-node-timeout 5000
daemonize ja
logfile "/var/log/redis/redis.log"
pidfile "/var/run/redis/redis.pid"
dir "/var/lib/redis „

Dabei gibt Port die Portnummer des Knotens an, Cluster-aktiviert bedeutet, dass der Cluster-Modus aktiviert ist, Cluster-Konfigurationsdatei gibt die Konfigurationsdatei des Knotens an, Cluster-Knoten-Timeout gibt die Zeitüberschreitungsdauer für die Kommunikation zwischen an nodes und daemonize geben an, ob der Daemon-Modus verwendet werden soll. Bei der Ausführung geben logfile und pidfile die Pfade der Protokoll- bzw. PID-Dateien an, und dir gibt den Pfad der Datendatei an.

Nachdem Sie die Konfigurationsdatei jedes Knotens geändert haben, verwenden Sie den Befehl redis-server, um den Redis-Server jedes Knotens zu starten.

4. Erstellen Sie einen Cluster und fügen Sie Knoten hinzu.

Verwenden Sie den Befehl redis-cli, um eine Verbindung zu einem beliebigen Redis-Knoten herzustellen, und verwenden Sie den Befehl „cluster meet“, um weitere Knoten hinzuzufügen:

redis-cli -c -p 7000

cluster meet 127.0 .0.1 7001

cluster meet 127.0.0.1 7002

Dann verwenden Sie den Befehl „cluster addslots“, um Slots zu jedem Knoten hinzuzufügen, zum Beispiel:

cluster addslots 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Verwenden Sie abschließend den Cluster-Replikationsbefehl als Geben Sie einen Master-Knoten vom Knoten an, zum Beispiel:

Cluster-Replikation

Ersetzen Sie die durch die ID des entsprechenden Master-Knotens, um ihn anzuzeigen die Informationen und den Status aller Knoten.

3. Verwendung des Redis-Clusters

Lese- und Schreibvorgänge im Redis-Cluster sind die gleichen wie normale Redis-Vorgänge. Sie können redis-cli verwenden, um eine Verbindung zu jedem Knoten herzustellen und dann Befehle auszuführen wie set und get. Zum Beispiel:

redis-cli -c -p 7000

set name „Redis Cluster“

get name

2. Erweiterung und Reduzierung

Sie können zum Hinzufügen die Befehle „cluster addslots“ und „cluster delslots“ verwenden oder löschen Sie Slots für den Redis-Cluster, zum Beispiel:

Slots hinzufügen

cluster addslots 1024

Slots löschen

cluster delslots 0

Nach dem Hinzufügen oder Löschen von Slots müssen Sie den Cluster-Rebalancing-Befehl ausführen, um die Slots neu zuzuweisen.

3. Failover und Wiederherstellung

Der Redis-Cluster unterstützt die Funktion, den Slave-Knoten automatisch auf den Master-Knoten umzuschalten, nachdem der Master-Knoten ausgefallen ist. Sie können den Cluster-Failover-Befehl verwenden, um den Master-Knoten-Ausfall zu simulieren oder den Master-Slave manuell umzuschalten Beziehung, zum Beispiel:

Simulieren Sie den Master-Knoten-Ausfall

Cluster-Failover

Manuelles Wechseln der Master-Slave-Beziehung

Cluster-Replikation # Ändern Sie den Master-Knoten des Slave-Knotens

Cluster-Failover

Wenn der Master Wenn der Knoten wiederhergestellt wird, stellt der Slave-Knoten die Daten automatisch auf dem Slave-Knoten wieder her und kommuniziert mit dem Master-Knoten.


4. Zusammenfassung

Dieser Artikel stellt den Aufbau und die Verwendung von Redis-Clustern vor. Redis-Cluster können eine horizontale Erweiterung und hohe Verfügbarkeit erreichen und bieten eine gute Lösung für die Speicherung großer Datenmengen und hohen gleichzeitigen Zugriff. Allerdings sind auch die Einrichtung, der Betrieb und die Wartung des Redis-Clusters relativ komplex, und Datensicherung und Fehlertoleranz müssen gut durchgeführt werden. Bei der tatsächlichen Verwendung ist es notwendig, eine geeignete Redis-Clusterlösung basierend auf dem Geschäftsszenario und der Systemgröße auszuwählen.

Das obige ist der detaillierte Inhalt vonAufbau und Nutzung des Redis-Clusters. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn