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.7make
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 jacluster-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 7001cluster 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
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
cluster delslots 0
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
Cluster-Replikation
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!