Wie implementiert Redis die Master-Slave-Replikation?
1. Was ist Master&Slave?
Dies nennen wir Master-Slave-Replikation. Nachdem die Hostdaten aktualisiert wurden, werden sie gemäß der Konfiguration und Richtlinie automatisch mit dem Master-/Slave-Mechanismus synchronisiert zum Schreiben und der Slave hauptsächlich zum Lesen.
2. Was kann es?
1. Lese- und Schreibtrennung;
2.
3. Wie wird gespielt?
1. Ausgestattet mit Slave (Bibliothek), aber nicht Master (Bibliothek);
2. Slaveof [Hauptbibliothek-IP] #; 🎜🎜 #
- Ergänzung: Jedes Mal, wenn der Slave vom Master getrennt wird, muss er erneut verbunden werden, es sei denn, Sie konfigurieren ihn in der redis.conf-Datei;
#🎜🎜 #
Geben Sie info replication ein, um Redis-Master-Slave-Informationen anzuzeigen. - 3. Konfigurationsdateidetails ändern
- Mehrere redis.conf-Dateien kopieren
#🎜🎜 ## ??
-PID-Dateiname#🎜 🎜#- Dump.rdb-Name
Ein Master, zwei Slaves, der Slave kann nur lesen, aber nicht schreiben; wenn der Slave vom Master getrennt wird, muss der Slave erneut verbunden werden, um die Verbindung herzustellen vorherige Master-Slave-Beziehung; nachdem der Master aufgelegt hat, bleibt die Master-Beziehung bestehen und kann durch einen Neustart des Masters wiederhergestellt werden.
- Der vorherige Slave kann der Master des nächsten Slaves sein, und der Slave kann auch andere Slaves Verbindungs- und Synchronisationsanfragen empfangen, dann fungiert der Slave als Master des nächsten Slaves in der Kette. Dadurch kann der Schreibdruck des Masters effektiv reduziert werden. Wenn der Slave-Server auf halbem Weg den Master-Server für die Datensynchronisierung wechselt, werden die alten Daten gelöscht und die Synchronisierung mit dem neuesten Master-Server wird wiederhergestellt.
4. Replikationsprinzip
1. Nachdem der Slave gestartet ist und sich erfolgreich mit dem Master verbunden hat, sendet er einen Synchronisierungsbefehl; erhält den Befehl zum Starten. Nach dem Speichervorgang werden alle empfangenen Befehle zum Ändern des Datensatzes gleichzeitig gesammelt. Nachdem der Hintergrundprozess ausgeführt wurde, überträgt der Master die gesamte Datendatei an den Slave, um eine vollständige Synchronisierung durchzuführen. 🎜🎜#
3, Vollständige Kopie: Der Slave-Dienst speichert und lädt die Datenbankdateidaten in den Speicher; 4: Der Master übergibt weiterhin alle neu gesammelten Änderungsbefehle an den Slave drehen, vollständige Synchronisierung;5 Aber solange der Master wieder verbunden ist, wird automatisch eine vollständige Synchronisierung (vollständige Kopie) durchgeführt.
5. Sentinel-Modus (Sentinel)
Eine kundenorientierte automatische Version, die im Hintergrund überwachen kann, ob die Master-Bibliothek fehlerhaft ist Konvertieren Sie die Slave-Bibliothek basierend auf der Anzahl der Stimmen automatisch in die Hauptbibliothek. Eine Gruppe von Sentinels kann mehrere Master gleichzeitig überwachen.
Verwendungsschritte:
2. Konfigurieren Sie den Sentinel und geben Sie den Inhalt in die Datei sentinel.conf ein:
sentinel-Monitor Der Name der überwachten Datenbank (benennen Sie sie selbst) IP-Port 1
Erläuterung: Die letzte Nummer 1 oben bedeutet, dass der Slave nach dem Auflegen des Hosts abstimmt, um zu sehen, wer übernimmt die Rolle des Gastgebers. Nach Erhalt der Anzahl der Stimmen wird der Slave zum Gastgeber.
3. Sentinel-Modus starten:
Befehl: redis-sentinel /myredis/sentinel.conf # 🎜🎜#
Hinweis: Die oben genannten sentinel.conf-Pfade werden entsprechend ihren tatsächlichen Bedingungen konfiguriert6 copying# 🎜🎜#
Verzögerung: Da alle Schreibvorgänge auf dem Master ausgeführt und dann mit dem Slave synchronisiert werden, kommt es zu einer gewissen Verzögerung bei der Synchronisierung vom Master zur Slave-Maschine, wenn das System sehr ausgelastet ist Probleme Es wird schwerwiegender sein, und die Zunahme der Anzahl der Slave-Maschinen wird dieses Problem auch schwerwiegender machen.
Redis-Master, Slave-Knoten-Bereitstellungsdetails
- 1 Erstellen Sie zwei redis.conf-Dateien, eine Master- und eine Slave-Datei
redis_6379.conf redis_6380.conf
Nach dem Login kopieren2 Hauptkonfiguration
bind 127.0.0.1 port 6379 protected-mode yes daemonize yes pidfile /var/run/redis_6379.pid logfile "/Data/apps/redis-3.2.12/logs/redis_6379.log" dbfilename dump_6379.rdb dir /Data/apps/redis-3.2.12/workplace requirepass paopao
Nach dem Login kopieren3. Slave-Konferenz-Hauptkonfigurationbind 127.0.0.1 port 6380 protected-mode yes daemonize yes pidfile /var/run/redis_6380.pid logfile "/Data/apps/redis-3.2.12/logs/redis_6380.log" dbfilename dump_6380.rdb dir /Data/apps/redis-3.2.12/workplace slaveof 127.0.0.1 6379 masterauth paopao
Nach dem Login kopieren4. Starten Sie den Master-Slave-Redis-Server-Prozess
redis-server /Data/apps/redis-3.2.12/conf/redis_6379.conf redis-server /Data/apps/redis-3.2.12/conf/redis_6380.conf
Nach dem Login kopieren5. Andere verwandte Konfiguration# 🎜🎜 #
# 当从库同主机失去连接或者复制正在进行,从机库有两种运行方式: # 1) 如果slave-serve-stale-data设置为yes(默认设置),从库会继续相应客户端的请求 # 2) 如果slave-serve-stale-data是指为no,除去INFO和SLAVOF命令之外的任何请求都会返回一个 # 错误"SYNC with master in progress" slave-serve-stale-data yes slave-read-only yes # 从库会按照一个时间间隔向主库发送PINGs.可以通过repl-ping-slave-period设置这个时间间隔,默认是10秒 repl-ping-slave-period 10 # repl-timeout 设置主库批量数据传输时间或者ping回复时间间隔,默认值是60秒 # 一定要确保repl-timeout大于repl-ping-slave-period repl-timeout 60 # slave节点磁盘慢, 网速快时, 置为yes, master上的rdb文件将以socket方式传输, 跳过磁盘存储 repl-diskless-sync no # 传输前等待秒数, 为了等待更多的slave节点加入 repl-diskless-sync-delay 5 # 传输时,是否禁用tcp nodelay repl-disable-tcp-nodelay no # 复制缓冲区大小 repl-backlog-size 1mb # 复制缓冲区释放周期 repl-backlog-ttl 3600 # 为了sentinal模式, 选举master准备, 数值越小, 优先级越高 slave-priority 100 # require at least 3 slaves with a lag <= 10 seconds use min-slaves-to-write 3 min-slaves-max-lag 10 # 可覆盖bind, port 配置, 对外ip port slave-announce-ip 5.5.5.5 slave-announce-port 1234
Das obige ist der detaillierte Inhalt vonWie implementiert Redis die Master-Slave-Replikation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Starten Sie das Menü [Start], geben Sie [cmd] ein, klicken Sie mit der rechten Maustaste auf [Eingabeaufforderung] und wählen Sie Als [Administrator] ausführen. 2. Geben Sie nacheinander die folgenden Befehle ein (kopieren und fügen Sie sie sorgfältig ein): SCconfigwuauservstart=auto, drücken Sie die Eingabetaste. SCconfigbitsstart=auto, drücken Sie die Eingabetaste. SCconfigcryptsvcstart=auto, drücken Sie die Eingabetaste. SCconfigtrustedinstallerstart=auto, drücken Sie die Eingabetaste. SCconfigwuauservtype=share, drücken Sie die Eingabetaste. netstopwuauserv, drücken Sie die Eingabetaste für netstopcryptS

Die Caching-Strategie in GolangAPI kann die Leistung verbessern und die Serverlast reduzieren. Häufig verwendete Strategien sind: LRU, LFU, FIFO und TTL. Zu den Optimierungstechniken gehören die Auswahl geeigneter Cache-Speicher, hierarchisches Caching, Invalidierungsmanagement sowie Überwachung und Optimierung. Im praktischen Fall wird der LRU-Cache verwendet, um die API zum Abrufen von Benutzerinformationen aus der Datenbank zu optimieren. Andernfalls kann der Cache nach dem Abrufen aus der Datenbank aktualisiert werden.

In der PHP-Entwicklung verbessert der Caching-Mechanismus die Leistung, indem er häufig aufgerufene Daten vorübergehend im Speicher oder auf der Festplatte speichert und so die Anzahl der Datenbankzugriffe reduziert. Zu den Cache-Typen gehören hauptsächlich Speicher-, Datei- und Datenbank-Cache. In PHP können Sie integrierte Funktionen oder Bibliotheken von Drittanbietern verwenden, um Caching zu implementieren, wie zum Beispiel Cache_get() und Memcache. Zu den gängigen praktischen Anwendungen gehören das Zwischenspeichern von Datenbankabfrageergebnissen zur Optimierung der Abfrageleistung und das Zwischenspeichern von Seitenausgaben zur Beschleunigung des Renderings. Der Caching-Mechanismus verbessert effektiv die Reaktionsgeschwindigkeit der Website, verbessert das Benutzererlebnis und reduziert die Serverlast.

Zuerst müssen Sie die Systemsprache auf die Anzeige in vereinfachtem Chinesisch einstellen und neu starten. Wenn Sie die Anzeigesprache zuvor auf vereinfachtes Chinesisch geändert haben, können Sie diesen Schritt natürlich einfach überspringen. Beginnen Sie als Nächstes mit dem Betrieb der Registrierung regedit.exe, navigieren Sie direkt zu HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage in der linken Navigationsleiste oder der oberen Adressleiste und ändern Sie dann den InstallLanguage-Schlüsselwert und den Standardschlüsselwert auf 0804 (wenn Sie ihn in Englisch ändern möchten). us, Sie müssen zunächst die Anzeigesprache des Systems auf en-us einstellen, das System neu starten und dann alles auf 0409 ändern) Sie müssen das System an dieser Stelle neu starten.

Durch die Verwendung des Redis-Cache kann die Leistung des PHP-Array-Pagings erheblich optimiert werden. Dies kann durch die folgenden Schritte erreicht werden: Installieren Sie den Redis-Client. Stellen Sie eine Verbindung zum Redis-Server her. Erstellen Sie Cache-Daten und speichern Sie jede Datenseite in einem Redis-Hash mit dem Schlüssel „page:{page_number}“. Rufen Sie Daten aus dem Cache ab und vermeiden Sie teure Vorgänge auf großen Arrays.

1. Doppelklicken Sie zunächst auf dem Desktop auf das Symbol [Dieser PC], um es zu öffnen. 2. Doppelklicken Sie dann mit der linken Maustaste, um [Laufwerk C] einzugeben. Systemdateien werden im Allgemeinen automatisch auf Laufwerk C gespeichert. 3. Suchen Sie dann den Ordner [Windows] auf dem Laufwerk C und doppelklicken Sie, um ihn aufzurufen. 4. Nachdem Sie den Ordner [Windows] aufgerufen haben, suchen Sie den Ordner [SoftwareDistribution]. 5. Suchen Sie nach der Eingabe den Ordner [Download], der alle Win11-Download- und Update-Dateien enthält. 6. Wenn wir diese Dateien löschen möchten, löschen Sie sie einfach direkt in diesem Ordner.

Redis ist ein leistungsstarker Schlüsselwert-Cache. Die PHPRedis-Erweiterung stellt eine API für die Interaktion mit dem Redis-Server bereit. Führen Sie die folgenden Schritte aus, um eine Verbindung zu Redis herzustellen sowie Daten zu speichern und abzurufen: Verbinden: Verwenden Sie die Redis-Klassen, um eine Verbindung zum Server herzustellen. Speicherung: Verwenden Sie die Set-Methode, um Schlüssel-Wert-Paare festzulegen. Abrufen: Verwenden Sie die get-Methode, um den Wert des Schlüssels abzurufen.

Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...
