Heim  >  Artikel  >  Datenbank  >  Welche Probleme treten bei der Redis-Replikation auf?

Welche Probleme treten bei der Redis-Replikation auf?

WBOY
WBOYnach vorne
2023-05-28 22:43:321282Durchsuche

Wenn die Datensynchronisierung längere Zeit nicht angezeigt wird, kann dies zu der falschen Annahme führen, dass die Replikationsfunktion ungültig oder die Konfiguration falsch ist. In diesem Fall können Sie die Verwendung des Befehls salveof in Betracht ziehen. Keine Sorge, es gibt zwei Möglichkeiten, um festzustellen, ob eine Replikation eingerichtet wird.

Beim Erstellen einer Redis-Replikation stellen Sie möglicherweise fest, dass der Slave zunächst lange nicht mit der Datensynchronisierung beginnt. Die Datenmenge ist möglicherweise zu groß, was dazu führt, dass der Master zu diesem Zeitpunkt langsam Daten ausgibt Wenn Sie den Befehl top -p ${pgrep -d auf dem Master, redis-sever} ausführen, können Sie den Dump-Prozess sehen.

[root@img1_u ~]# top -p $(pgrep -d, redis-server)
top - 14:06:24 up 54 days,  6:13,  1 user,  load average: 1.18, 1.32, 1.20
Tasks:   2 total,   1 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.2%us,  1.7%sy,  0.6%ni, 81.9%id,  0.2%wa,  0.0%hi,  0.4%si,  0.0%st
Mem:  24542176k total, 22771848k used,  1770328k free,  2245720k buffers
Swap:   524280k total,        0k used,   524280k free,  4369452k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
21619 root      20   0 5654m 5.4g  388 R 99.9 23.0   0:23.70 redis-server
 1663 root      20   0 5654m 5.4g 1068 S 15.3 23.0   5042:31 redis-server

redis-server ist ein einzelner Prozess. Jetzt können Sie mit dem obersten Befehl überprüfen, ob es zwei Prozesse gibt. Denn wie bereits erwähnt, führt Redis den Befehl bgsave auf dem Hauptdienst aus und gibt einen untergeordneten Prozess aus , und dump Exportieren Sie die RDB-Datei. Schließen Sie zuerst den Dump der Master-Datenbank ab und übertragen Sie dann die Snapshot-Datei in die Slave-Datenbank. Methode 2: Geben Sie die Redis-CLI des Masters über die Kennung rdb_bgsave_in_progress ein Der Hauptserver führt einen Hintergrundspeicherbefehl (bgsave) aus. rdb_current_bgsave_time_sec gibt die Ausführungszeit des bgsave-Befehls an. Da RDB- und AOF-Protokolle auf dem Masterserver standardmäßig nicht aktiviert sind, können Sie aus Replikationsgründen auf jeden Fall einen bgsave-Befehl senden, um die RDB-Datei zu sichern, wenn rdb_bgsave_in_progress 1 ist.

Das obige ist der detaillierte Inhalt vonWelche Probleme treten bei der Redis-Replikation auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen