Englisch [maɪˈgreɪt] Amerikanisch [ˈmaɪgreɪt]

vi.Move; migrate, move to; migrieren mit den Jahreszeiten

vt.Migrate; transplantieren

Dritte Person Singular: migriert Präsens: migriert Partizip Perfekt: migriert

redis MIGRATE-Befehl Syntax

Funktion: Atomischer Transfer des Schlüssels von der aktuellen Instanz in die angegebene Datenbank der Zielinstanz. Sobald die Übertragung erfolgreich ist, wird der Schlüssel garantiert auf der Zielinstanz angezeigt und der Schlüssel auf der aktuellen Instanz wird gelöscht.

Syntax: MIGRATE-Host-Port-Schlüssel-Zieldatenbank-Timeout [KOPIEREN] [REPLACE]

Beschreibung: Der MIGRATE-Befehl muss den E/A-Vorgang innerhalb des angegebenen Zeitlimits abschließen. Wenn beim Übertragen von Daten ein E/A-Fehler auftritt oder das Zeitlimit erreicht ist, stoppt der Befehl die Ausführung und gibt einen speziellen Fehler zurück: IOERR .

Verfügbare Versionen: >= 2.6.0

Zeitliche Komplexität: Dieser Befehl führt tatsächlich den DUMP-Befehl und den DEL-Befehl auf der Quellinstanz aus und führt den RESTORE-Befehl auf der Zielinstanz aus Dokumentation für die oben genannten Befehle. Die Komplexität der Übertragung von Schlüsseldaten zwischen zwei Instanzen beträgt O(N).

Rückgabe: OK zurückgeben, wenn die Migration erfolgreich ist, andernfalls wird der entsprechende Fehler zurückgegeben.

redis MIGRATE-Befehl Beispiel

先启动两个 Redis 实例,一个使用默认的 6379 端口,一个使用 7777 端口。
$ ./redis-server &[1] 3557
...
$ ./redis-server --port 7777 &[2] 3560...

然后用客户端连上 6379 端口的实例,设置一个键,然后将它迁移到 7777 端口的实例上:
$ ./redis-cliredis 127.0.0.1:6379> flushdb
OK
redis 127.0.0.1:6379> SET greeting "Hello from 6379 instance"
OK
redis 127.0.0.1:6379> MIGRATE 127.0.0.1 7777 greeting 0 1000
OK
redis 127.0.0.1:6379> EXISTS greeting                           
# 迁移成功后 key 被删除(integer) 0

使用另一个客户端,查看 7777 端口上的实例:
$ ./redis-cli -p 7777
redis 127.0.0.1:7777> GET greeting
"Hello from 6379 instance"