Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel werden mehrere Azure Cache für Redis-Migrationsszenarien beschrieben. Sie können Open-Source-Redis-Caches migrieren, die lokal oder auf virtuellen Cloudcomputern (VMs) ausgeführt werden, oder gehostete Caches von anderen Cloudplattformen zu Azure Cache für Redis.
Sie können auch einen Azure-Cache für Redis-Instanz zu einer anderen Instanz migrieren. Wenn Sie nur einen Azure Redis-Cache aus einer Azure-Region in eine andere verschieben müssen, lesen Sie "Verschieben von Azure Cache für Redis-Instanzen in verschiedene Regionen".
Open-Source Redis kann in vielen Computeumgebungen ausgeführt werden, z. B. in privaten lokalen Rechenzentren oder in der Cloud gehosteten VMs. Andere Hostingplattformen wie Amazon Web Services (AWS) hosten Redis-Cachedienste wie AWS ElastiCache. Sie können diese Redis-Caches in der Regel mit minimaler Unterbrechung oder Ausfallzeit zu Azure Cache für Redis migrieren.
Migrationsoptionen
Wie Sie von einem Cache zu einem anderen migrieren, hängt davon ab, wo ihr Cache vorhanden ist und wie Ihre Anwendung damit interagiert. In der folgenden Tabelle sind häufig verwendete Migrationsstrategien aufgeführt.
Auswahlmöglichkeit | Vorteile | Nachteile |
---|---|---|
Erstellen eines neuen Caches | Die am einfachsten zu implementierende Methode. | Müssen Daten erneut in den neuen Cache aufgefüllt werden, was bei einigen Anwendungen möglicherweise nicht funktioniert. |
Exportieren und Importieren von Daten über eine schreibgeschützte Datenbankdatei (RDB). | Kompatibel mit jedem Redis-Cache. | Daten, die nach dem Generieren der RDB-Datei in den vorhandenen Cache geschrieben wurden, können verloren gehen. |
Duale Schreibvorgänge in zwei Caches. | Kein Datenverlust oder Ausfallzeiten, keine unterbrochenen Cachevorgänge und einfachere Tests. | Benötigt zwei Caches für einen längeren Zeitraum. |
Programmgesteuertes Migrieren von Daten. | Volle Kontrolle darüber, wie Daten verschoben werden. | Erfordert benutzerdefinierten Code. |
Erstellen eines neuen Caches
Wenn unterbrechungsfreie Vorgänge und potenzielle Datenverluste nicht in Frage kommen, besteht die einfachste Möglichkeit zum Verschieben von Daten in den Azure-Cache für Redis darin, eine Azure Redis-Cacheinstanz zu erstellen und Ihre Anwendung damit zu verbinden. Wenn Sie Redis beispielsweise als Suchcache für Datenbank-Datensätze verwenden, können Sie den Cache problemlos von Grund auf neu erstellen. Dieser Ansatz ist technisch keine Migration.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie eine neue Azure Cache for Redis-Instanz. Optional können Sie Azure Managed Redis ausprobieren.
- Aktualisieren Sie Ihre Anwendung so, dass sie die neue Azure Redis-Instanz verwendet.
- Löschen Sie die alte Redis-Instanz.
Exportieren von Daten in eine RDB-Datei und Importieren der Datei in Azure Cache for Redis
Open-Source Redis definiert einen Standardmechanismus, um eine Momentaufnahme des Speicherdatensatzes eines Caches zu erstellen und in einer RDB-Datei zu speichern, die jeder Redis-Cache lesen kann. Azure Cache for Redis Premium tier unterstützt den Import von Daten in eine Cache-Instanz über eine RDB-Datei. Sie können die RDB-Datei verwenden, um Daten aus einem vorhandenen Cache in Azure Cache für Redis zu übertragen.
Wichtig
DAS RDB-Dateiformat kann zwischen Redis-Versionen geändert werden und behält möglicherweise keine Abwärtskompatibilität bei. Die Redis-Version des caches, den Sie exportieren, sollte gleich oder niedriger als die Version sein, die Azure Cache für Redis bereitstellt.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Speichern Sie eine Momentaufnahme des vorhandenen Redis-Caches. Sie können Redis so konfigurieren, dass Momentaufnahmen in regelmäßigen Abständen gespeichert werden, oder sie können mithilfe der Befehle SPEICHERN oder BGSAVE manuell speichern. Die RDB-Datei heißt "dump.rdb " standardmäßig und befindet sich im Pfad, der in der Konfigurationsdatei "redis.conf " angegeben ist.
- Erstellen Sie einen neuen Azure-Cache auf Premiumebene für Redis-Instanz, der mindestens so groß ist wie der vorhandene Cache.
- Kopieren Sie die RDB-Datei in ein Azure-Speicherkonto in der Region, in der sich Ihr neuer Cache befindet. Sie können
AzCopy
für diese Aufgabe nutzen. - Importieren Sie die RDB-Datei in den neuen Cache. Sie können auch das PowerShell Import-AzRedisCache-Cmdlet verwenden.
- Aktualisieren Sie Ihre Anwendung, sodass die neue Cache-Instanz verwendet wird.
Hinweis
Um Daten aus einer anderen Azure Redis-Instanz zu migrieren, exportieren Sie zuerst die RDB-Datei aus dieser Instanz, oder verwenden Sie das PowerShell Export-AzRedisCache-Cmdlet .
Schreiben in zwei Redis-Caches während der Migration
Anstatt Daten zwischen Caches zu verschieben, können Sie die Anwendung vorübergehend so festlegen, dass Daten sowohl in einen vorhandenen Cache als auch in einen neuen zwischengespeichert werden. Die Anwendung liest zunächst Daten aus dem vorhandenen Cache. Wenn der neue Cache über genügend Daten verfügt, können Sie die Anwendung in diesen Cache wechseln und die alte zurücknehmen.
Angenommen, Sie verwenden Redis als Sitzungsspeicher, und die Anwendungssitzungen laufen nach sieben Tagen ab. Nachdem Sie sieben Tage lang auf beide Caches geschrieben haben, wissen Sie, dass der neue Cache alle nicht abgelaufenen Sitzungsinformationen enthält, und können Sie ab diesem Zeitpunkt sicher darauf bauen. Anschließend können Sie den alten Cache zurückziehen.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie einen neuen Azure-Cache auf Premiumebene für Redis-Instanz, der mindestens so groß ist wie der vorhandene Cache.
- Ändern Sie den Anwendungscode so, dass er sowohl in die neue als auch in die ursprüngliche Instanz schreibt.
- Verwenden Sie weiterhin Daten aus der ursprünglichen Instanz, bis die neue Instanz ausreichend mit Daten gefüllt ist.
- Aktualisieren Sie den Anwendungscode, sodass die Anwendung zum Lesen und Schreiben von Daten ausschließlich die neue Instanz verwendet.
- Löschen Sie die ursprüngliche Instanz.
Programmgesteuertes Migrieren
Sie können eine benutzerdefinierte Migration erstellen, indem Sie Daten programmgesteuert aus einem vorhandenen Cache lesen und in Azure Cache für Redis schreiben. Sie können beispielsweise das Open Source-Redis-Copy-Tool verwenden, um Daten aus einer Azure Redis-Instanz in eine andere zu kopieren.
Der Quellcode kann ein nützlicher Leitfaden zum Schreiben Ihres eigenen Migrationstools sein. Eine kompilierte Version ist ebenfalls verfügbar.
Hinweis
Dieses Tool wird von Microsoft nicht offiziell unterstützt.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie einen virtuellen Azure-Computer (VM) in derselben Region wie der vorhandene Cache. Wenn Ihr Dataset groß ist, wählen Sie einen leistungsfähigen virtuellen Computer aus, um die Kopierzeit zu reduzieren.
- Erstellen Sie einen neuen Azure-Cache für Redis-Instanz, und stellen Sie sicher, dass er leer ist. Das
redis-copy
Tool überschreibt keine vorhandenen Schlüssel im Zielcache. - Verwenden Sie eine Anwendung wie
redis-copy
, um das Kopieren der Daten aus dem Quellcache in den Zielcache zu automatisieren. Je nach Größe des Datasets kann der Kopiervorgang eine Weile dauern.