Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Azure Cache for Redis meddelade sin tidslinje för pensionering för alla SKU:er. Vi rekommenderar att du flyttar dina befintliga Azure Cache for Redis-instanser till Azure Managed Redis så snart du kan.
Mer information om pensionering:
I den här artikeln beskrivs flera Azure Cache for Redis-migreringsscenarier. Du kan migrera Redis-cacheminnen med öppen källkod som körs lokalt eller på virtuella molndatorer (VM) eller värdbaserade cacheminnen från andra molnplattformar till Azure Cache for Redis.
Du kan också migrera en Azure Cache for Redis-instans till en annan instans. Om du bara behöver flytta en Azure Redis-cache från en Azure-region till en annan läser du Flytta Azure Cache for Redis-instanser till olika regioner.
Redis med öppen källkod kan köras i många beräkningsmiljöer, till exempel privata lokala datacenter eller molnbaserade virtuella datorer. Andra värdplattformar som Amazon Web Services (AWS) är värd för Redis cachetjänster som AWS ElastiCache. Du kan vanligtvis migrera dessa Redis-cacheminnen till Azure Cache for Redis med minimal avbrotts- eller stilleståndstid.
Migreringsalternativ
Hur du migrerar från en cache till en annan beror på var cachen finns och hur ditt program interagerar med det. I följande tabell visas de migreringsstrategier som används ofta.
| Alternativ | Fördelar | Nackdelar |
|---|---|---|
| Skapa en ny cache | Enklast att implementera. | Måste fylla på data till den nya cachen, vilket kanske inte fungerar med vissa program. |
| Exportera och importera data via en skrivskyddad databasfil (RDB). | Kompatibel med alla Redis-cacheminnen. | Data som skrivs till den befintliga cachen när RDB-filen har genererats kan gå förlorade. |
| Skriv data till två cacheminnen samtidigt. | Ingen dataförlust eller stilleståndstid, inga avbrutna cacheåtgärder och enklare testning. | Behöver två cacheminnen för en längre tidsperiod. |
| Migrera data programmatiskt. | Fullständig kontroll över hur data flyttas. | Kräver anpassad kod. |
Skapa en ny cache
Om det inte är problem med oavbrutna åtgärder och potentiella dataförluster är det enklaste sättet att flytta data till Azure Cache for Redis att skapa en Azure Redis-cacheinstans och ansluta ditt program till den. Om du till exempel använder Redis som en cache med databasposter kan du enkelt återskapa cacheminnet från grunden. Den här metoden är inte tekniskt sett en migrering.
Allmänna steg för att implementera det här alternativet är:
- Skapa en ny Azure Cache for Redis-instans. Du kan också prova Azure Managed Redis.
- Uppdatera programmet så att det använder den nya Azure Redis-instansen.
- Ta bort den gamla Redis-instansen.
Exportera data till en RDB-fil och importera dem till Azure Cache for Redis
Redis med öppen källkod definierar en standardmekanism för att ta en ögonblicksbild av en cacheminnesdatauppsättning och spara den i en RDB-fil som alla Redis-cacheminnen kan läsa. Azure Cache for Redis Premium-nivån stöder import av data till en cacheinstans via RDB-fil. Du kan använda RDB-filen för att överföra data från en befintlig cache till Azure Cache for Redis.
Viktigt!
RDB-filformat kan ändras mellan Redis-versioner och kanske inte upprätthålla bakåtkompatibilitet. Redis-versionen av cacheminnet som du exporterar ska vara lika med eller lägre än den version som Azure Cache for Redis tillhandahåller.
Allmänna steg för att implementera det här alternativet är:
- Spara en ögonblicksbild av den befintliga Redis-cachen. Du kan konfigurera Redis för att spara ögonblicksbilder med jämna mellanrum eller spara en manuellt med hjälp av kommandona SAVE eller BGSAVE . RDB-filen heter dump.rdb som standard och finns på den sökväg som anges i konfigurationsfilen redis.conf .
- Skapa en ny Azure Cache for Redis-instans på Premium-nivå som är minst lika stor som den befintliga cachen.
- Kopiera RDB-filen till ett Azure Storage-konto i den region där din nya cache finns. Du kan använda
AzCopyför den här uppgiften. - Importera RDB-filen till den nya cachen. Du kan också använda cmdleten PowerShell Import-AzRedisCache .
- Uppdatera programmet så att det använder den nya cacheinstansen.
Anmärkning
Om du vill migrera data från en annan Azure Redis-instans exporterar du först RDB-filen från den instansen eller använder cmdleten PowerShell Export-AzRedisCache .
Skriv till två Redis-cacheminnen under migreringen
I stället för att flytta data mellan cacheminnen kan du tillfälligt ange att ditt program ska skriva data till både en befintlig cache och en ny. Programmet läser data från den befintliga cachen från början. När den nya cachen har tillräckligt med data kan du växla programmet till cacheminnet och dra tillbaka den gamla.
Anta till exempel att du använder Redis som ett sessionsarkiv och att programsessionerna upphör att gälla efter sju dagar. När du har skrivit till båda cacheminnena i sju dagar vet du att den nya cachen innehåller all icke-förbrukad sessionsinformation och du kan lita på den från den tidpunkten. Du kan sedan dra tillbaka den gamla cachen.
Allmänna steg för att implementera det här alternativet är:
- Skapa en ny Azure Cache for Redis-instans på Premium-nivå som är minst lika stor som den befintliga cachen.
- Ändra programkoden så att den skriver till både den nya och den ursprungliga instansen.
- Fortsätt att använda data från den ursprungliga instansen tills den nya instansen är tillräckligt fylld med data.
- Uppdatera programkoden till att endast läsa och skriva från den nya instansen.
- Ta bort den ursprungliga instansen.
Migrera programmatiskt
Du kan skapa en anpassad migrering genom att programmatiskt läsa data från en befintlig cache och skriva dem till Azure Cache for Redis. Du kan till exempel använda verktyget redis-copy med öppen källkod för att kopiera data från en Azure Redis-instans till en annan.
Källkoden kan vara en användbar guide för att skriva ett eget migreringsverktyg. En kompilerad version är också tillgänglig.
Anmärkning
Det här verktyget stöds inte officiellt av Microsoft.
Allmänna steg för att implementera det här alternativet är:
- Skapa en virtuell Azure-dator (VM) i samma region som den befintliga cachen. Om datamängden är stor väljer du en kraftfull virtuell dator för att minska kopieringstiden.
- Skapa en ny Azure Cache for Redis-instans och se till att den är tom. Verktyget
redis-copyskriver inte över några befintliga nycklar i målcachen. - Använd ett program som
redis-copyför att automatisera kopiering av data från källcachen till målcachen. Kopieringsprocessen kan ta en stund beroende på storleken på din datauppsättning.