Delen via


Migreren naar of tussen Azure Cache voor Redis-exemplaren

Belangrijk

Azure Cache voor Redis heeft de tijdlijn voor buitengebruikstelling aangekondigd voor alle SKU's. We raden je aan om je Azure Cache voor Redis-instances zo snel mogelijk te verplaatsen naar Azure Managed Redis.

Voor meer informatie over de buitengebruikstelling:

In dit artikel worden verschillende migratiescenario's voor Azure Cache voor Redis beschreven. U kunt opensource Redis-caches die on-premises of in virtuele cloudmachines (VM's) worden uitgevoerd, of gehoste caches van andere cloudplatforms migreren naar Azure Cache voor Redis.

U kunt ook één Exemplaar van Azure Cache voor Redis migreren naar een ander exemplaar. Als u alleen een Azure Redis-cache van de ene Azure-regio naar de andere hoeft te verplaatsen, zie Azure Cache voor Redis-exemplaren verplaatsen naar verschillende regio's.

Opensource Redis kan worden uitgevoerd in veel rekenomgevingen, zoals privé on-premises datacenters of in de cloud gehoste VM's. Andere hostingplatforms zoals Amazon Web Services (AWS) hosten Redis-cacheservices zoals AWS ElastiCache. U kunt deze Redis-caches meestal met minimale onderbreking of downtime migreren naar Azure Cache voor Redis.

Migratieopties

Hoe u migreert van de ene cache naar de andere, is afhankelijk van waar uw cache zich bevindt en hoe uw toepassing ermee communiceert. De volgende tabel bevat veelgebruikte migratiestrategieën.

Optie Voordelen Nadelen
Een nieuwe cache maken Eenvoudigste te implementeren. Gegevens moeten opnieuw worden ingevuld in de nieuwe cache, wat mogelijk niet werkt met sommige toepassingen.
Gegevens exporteren en importeren via een alleen-lezen-databasebestand (RDB-bestand). Compatibel met elke Redis-cache. Gegevens die naar de bestaande cache worden geschreven nadat het RDB-bestand is gegenereerd, kunnen verloren gaan.
Gegevens tegelijkertijd naar twee caches schrijven. Geen gegevensverlies of downtime, geen onderbroken cachebewerkingen en eenvoudiger testen. Er zijn twee caches nodig voor een langere periode.
Gegevens programmatisch migreren. Volledige controle over hoe gegevens worden verplaatst. Hiervoor is aangepaste code vereist.

Een nieuwe cache maken

Als ononderbroken bewerkingen en mogelijk gegevensverlies geen probleem zijn, is de eenvoudigste manier om gegevens te verplaatsen naar Azure Cache voor Redis door een exemplaar van Azure Redis-cache te maken en uw toepassing ermee te verbinden. Als u Bijvoorbeeld Redis gebruikt als een opzoekcache van databaserecords, kunt u de cache eenvoudig opnieuw opbouwen. Deze benadering is technisch gezien geen migratie.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis-exemplaar. Probeer desgewenst Azure Managed Redis uit.
  2. Werk uw toepassing bij om het nieuwe Azure Redis-exemplaar te gebruiken.
  3. Verwijder het oude Redis-exemplaar.

Gegevens exporteren naar een RDB-bestand en importeren in Azure Cache voor Redis

Opensource Redis definieert een standaardmechanisme om een momentopname te maken van de in-memory gegevensset van een cache en deze op te slaan in een RDB-bestand dat door elke Redis-cache kan worden gelezen. De Azure Cache voor Redis Premium-laag biedt ondersteuning voor het importeren van gegevens in een cache-exemplaar via een RDB-bestand. U kunt het RDB-bestand gebruiken om gegevens over te dragen van een bestaande cache naar Azure Cache voor Redis.

Belangrijk

De RDB-bestandsindeling kan veranderen tussen Redis-versies en kan de compatibiliteit met eerdere versies mogelijk niet behouden. De Redis-versie van de cache die u exporteert, moet gelijk zijn aan of lager zijn dan de versie die Azure Cache voor Redis biedt.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Sla een momentopname van de bestaande Redis-cache op. U kunt Redis zo configureren dat momentopnamen periodiek worden opgeslagen of u kunt er een handmatig opslaan met de opdrachten SAVE of BGSAVE . Het RDB-bestand heet standaard dump.rdb en bevindt zich op het pad dat is opgegeven in het configuratiebestand redis.conf .
  2. Maak een nieuw exemplaar van Azure Cache voor Redis in de Premium-laag dat minstens zo groot is als de bestaande cache.
  3. Kopieer het RDB-bestand naar een Azure-opslagaccount in de regio waar de nieuwe cache zich bevindt. U kunt AzCopy gebruiken voor deze taak.
  4. Importeer het RDB-bestand in de nieuwe cache. U kunt ook de PowerShell Import-AzRedisCache-cmdlet gebruiken.
  5. Werk uw toepassing bij om het nieuwe cache-exemplaar te gebruiken.

Notitie

Als u gegevens wilt migreren van een ander Azure Redis-exemplaar, exporteert u eerst het RDB-bestand van dat exemplaar of gebruikt u de Cmdlet PowerShell Export-AzRedisCache .

Schrijven naar twee Redis-caches tijdens migratie

In plaats van gegevens tussen caches te verplaatsen, kunt u uw toepassing tijdelijk instellen om gegevens te schrijven naar zowel een bestaande cache als een nieuwe. De toepassing leest in eerste instantie gegevens uit de bestaande cache. Wanneer de nieuwe cache voldoende gegevens bevat, kunt u de toepassing overschakelen naar die cache en de oude buiten gebruik stellen.

Stel dat u Redis gebruikt als een sessiearchief en dat de toepassingssessies na zeven dagen verlopen. Nadat u zeven dagen naar beide caches hebt geschreven, weet u dat de nieuwe cache alle niet-verlopen sessiegegevens bevat en u er vanaf dat moment veilig op kunt vertrouwen. Vervolgens kunt u de oude cache buiten gebruik stellen.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw exemplaar van Azure Cache voor Redis in de Premium-laag dat minstens zo groot is als de bestaande cache.
  2. Pas uw toepassingscode aan om te schrijven naar zowel de nieuwe als de oorspronkelijke exemplaren.
  3. Ga door met het gebruik van gegevens van het oorspronkelijke exemplaar totdat het nieuwe exemplaar voldoende is gevuld met gegevens.
  4. Werk de toepassingscode bij om alleen te lezen en te schrijven vanuit het nieuwe exemplaar.
  5. Verwijder het oorspronkelijke exemplaar.

Programmatisch migreren

U kunt een aangepaste migratie maken door programmatisch gegevens te lezen uit een bestaande cache en deze in Azure Cache voor Redis te schrijven. U kunt bijvoorbeeld het opensource redis-copy-hulpprogramma gebruiken om gegevens van het ene Azure Redis-exemplaar naar een andere te kopiëren.

De broncode kan een handige handleiding zijn voor het schrijven van uw eigen migratiehulpprogramma. Er is ook een gecompileerde versie beschikbaar.

Notitie

Dit hulpprogramma wordt niet officieel ondersteund door Microsoft.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een virtuele Azure-machine (VM) in dezelfde regio als de bestaande cache. Als uw gegevensset groot is, kiest u een krachtige VIRTUELE machine om de kopieertijd te verminderen.
  2. Maak een nieuwe Azure Cache for Redis instance aan en zorg ervoor dat deze leeg is. Het redis-copy hulpprogramma overschrijft geen bestaande sleutels in de doelcache.
  3. Gebruik een toepassing zoals redis-copy het automatiseren van het kopiëren van de gegevens uit de broncache naar de doelcache. Het kopieerproces kan enige tijd duren, afhankelijk van de grootte van uw gegevensset.