Dela via


Vad är Azure Managed Redis (förhandsversion)?

Azure Managed Redis (förhandsversion) tillhandahåller ett minnesinternt datalager baserat på Redis Enterprise-programvaran . Redis Enterprise förbättrar prestanda och tillförlitlighet för communityversionen av Redis, samtidigt som kompatibiliteten bibehålls. Microsoft driver tjänsten, som finns i Azure och kan användas av alla program inom eller utanför Azure. Mer information om hur Azure Managed Redis skapas finns i Azure Managed Redis Architecture.

Viktigt!

Azure Managed Redis är för närvarande i förhandsversion. Juridiska villkor för Azure-funktioner i betaversion, förhandsversion eller som av någon annan anledning inte har gjorts allmänt tillgängliga ännu finns i kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.

Azure Managed Redis kan förbättra prestanda och skalbarhet för ett program som använder serverdelsdatalager i hög grad. Den kan bearbeta stora mängder programbegäranden genom att lagra data som används ofta i serverminnet, som kan skrivas till och läsas från snabbt.

Redis ger en kritisk datalagringslösning med låg svarstid och datalagring med högt dataflöde till moderna program. Dessutom används Redis i allt högre grad för icke-cachelagringsprogram, inklusive datainmatning, deduplicering, meddelanden, rankningslistor, semantisk cachelagring och som en vektordatabas.

Azure Managed Redis kan distribueras fristående eller distribueras tillsammans med andra Azure-app- eller databastjänster, till exempel Azure Container Apps, Azure App Service, Azure Functions, Azure SQL eller Azure Cosmos DB.

Viktiga scenarier

Azure Managed Redis förbättrar programprestandan genom att stödja vanliga mönster för programarkitektur. Några av de vanligaste är följande mönster:

Mönster beskrivning
Datacache Databaser är ofta för stora för att läsas in direkt i en cache. Det är vanligt att använda cache-aside-mönstret för att endast läsa in data i cacheminnet efter behov. När systemet gör ändringar i data kan systemet även uppdatera cacheminnet, som sedan distribueras till andra klienter. Dessutom kan systemet ange ett utgångsdatum för data eller använda en borttagningsprincip för att utlösa datauppdateringar i cacheminnet.
Innehållscache Många webbsidor genereras från mallar som använder statiskt innehåll, till exempel sidhuvuden, sidfötter och banderoller. Dessa statiska objekt bör inte ändras ofta. Att använda en minnesintern cache ger snabb åtkomst till statiskt innehåll jämfört med serverdelsdatalager. Det här mönstret minskar bearbetningstiden och serverbelastningen, vilket gör att webbservrar blir mer dynamiska. Det kan göra att du kan minska antalet servrar som behövs för att hantera belastningar. Azure Managed Redis tillhandahåller Redis-utdatacacheprovidern för att stödja det här mönstret med ASP.NET.
Sessionsarkiv Det här mönstret används ofta med kundvagnar och andra användarhistorikdata som ett webbprogram kan associera med användarcookies. Att lagra för mycket i en cookie kan ha en negativ effekt på prestanda när cookiestorleken växer och skickas och verifieras med varje begäran. En vanlig lösning använder cookien som en nyckel för att köra frågor mot data i en databas. När du använder en minnesintern cache, som Azure Managed Redis, för att associera information med en användare går det snabbare än att interagera med en fullständig relationsdatabas.
Vektorlikhetssökning Ett vanligt AI-användningsfall är att generera vektorinbäddningar med hjälp av en stor språkmodell (LLM). Dessa vektorbäddningar måste lagras i en vektordatabas och sedan jämföras för att fastställa likhet. Azure Managed Redis har inbyggda funktioner för att både lagra och jämföra vektorinbäddningar vid höga dataflöden.
Semantisk cachelagring Användning av LLM:er medför ofta en hög svarstid (på grund av generationstid) och kostnader (på grund av prissättning per token) för ett program. Cachelagring kan hjälpa dig att lösa dessa problem genom att lagra tidigare utdata från en LLM så att den snabbt kan hämtas igen. Men eftersom LLM:er använder naturligt språk kan det vara svårt för vanliga cacheminnen att hantera. Semantiska cacheminnen som Azure Managed Redis kan cachelagra inte bara en specifik fråga, utan även den semantiska innebörden av en fråga, vilket gör att den kan användas mycket mer naturligt med LLM:er.
Deduplication Ofta måste du avgöra om en åtgärd redan har inträffat i ett system, till exempel att avgöra om ett användarnamn har vidtagits eller om en kund redan har skickat ett e-postmeddelande. I Azure Managed Redis kan bloom-filter användas för att snabbt fastställa dubbletter och förhindra problem.
Rankningslistor Redis erbjuder enkelt och kraftfullt stöd för att utveckla rankningslistor av alla slag med hjälp av den sorterade datastrukturen . Om du använder aktiv geo-replikering kan du dessutom tillåta att en topplista delas globalt.
Jobb- och meddelandeköer Program lägger ofta till uppgifter i en kö när de åtgärder som är associerade med begäran tar tid att köra. Längre åtgärder som körs placeras i kö för att bearbetas i följd, ofta av en annan server. Den här metoden att skjuta upp arbete kallas för att placera uppgifter i kö. Azure Managed Redis tillhandahåller en distribuerad kö för att aktivera det här mönstret i ditt program.
PowerBI/Analysacceleration Du kan använda Redis ODBC-drivrutinen för att använda Redis för BI- och rapporterings- och analysanvändningsfall. Eftersom Redis vanligtvis är mycket snabbare än relationsdatabaser kan redis på det här sättet avsevärt öka frågesvarstiden.
Distribuerade transaktioner Program kräver ibland en serie kommandon mot ett serverdelsdatalager för att köras som en enda atomisk åtgärd. Alla kommandon måste slutföras, eller så måste alla återställas till det ursprungliga tillståndet. Azure Managed Redis stöder körning av en batch med kommandon som en enda transaktion.

Redis-version

Azure Managed Redis stöder Redis version 7.4.x. Mer information finns i Uppgradera versionen av din Azure Managed Redis-instans.

Välja rätt nivå

Det finns fyra nivåer av Azure Managed Redis tillgängliga, var och en med olika prestandaegenskaper och prisnivåer.

Tre nivåer är för minnesintern data:

  • Minnesoptimerad Idealisk för minnesintensiva användningsfall som kräver ett högt förhållande mellan minne och vCPU (8:1) men som inte behöver den högsta dataflödesprestandan. Det ger en lägre prispunkt för scenarier där mindre bearbetningskraft eller dataflöde är nödvändigt, vilket gör det till ett utmärkt val för utvecklings- och testmiljöer.
  • Balanced (Memory + Compute) Erbjuder ett balanserat förhållande mellan minne och vCPU (4:1), vilket gör det idealiskt för standardarbetsbelastningar. Den här nivån ger en hälsosam balans mellan minne och beräkningsresurser.
  • Beräkningsoptimerad utformad för prestandaintensiva arbetsbelastningar som kräver maximalt dataflöde, med ett lågt förhållande mellan minne och vCPU (2:1). Det är idealiskt för program som kräver högsta prestanda.

På en nivå lagras data både i minnet och på disk:

  • Flash Optimized Gör det möjligt för Redis-kluster att automatiskt flytta data som används mindre ofta från minne (RAM) till NVMe-lagring. Detta minskar prestandan, men möjliggör kostnadseffektiv skalning av cacheminnen med stora datamängder.

Kommentar

Mer information om hur flashoptimerad nivå är konstruerad finns i Azure Managed Redis Architecture

Viktigt!

Du kan också använda funktionen datapersistence för att lagra data på disk för minnesintern nivå. Datapersistence lagrar en säkerhetskopia av data på disk för snabb återställning i händelse av ett oväntat avbrott. Detta skiljer sig från Nivån Flash-optimerad, som är utformad för att lagra data på disk för vanliga åtgärder. Lagring av vissa data på disk med hjälp av Flash Optimized-nivån ökar inte dataåterhämtningen. Du kan också använda datapersistence på Nivån Flash-optimerad.

Anvisningar om hur du skalar mellan nivåer och SKU:er finns i Skala en Azure Managed Redis-instans.

Snabb överblick över nivåer och SKU:er

Tabell som visar olika minnes- och vCPU-konfigurationer för varje SKU och nivå för Azure Managed Redis.

Prisinformation finns i Prissättning för Azure Managed Redis

Jämför funktioner

Följande tabell beskriver några av de funktioner som stöds på respektive nivå:

Funktionsbeskrivning Minnesoptimerad Balanserad Beräkningsoptimerad Flash-optimerad
Storlek (GB) 12 - 1920 0.5 - 960 3 - 720 250 - 4500
Serviceavtal (SLA) Ja Ja Ja Ja
Datakryptering under överföring Ja (privat slutpunkt) Ja (privat slutpunkt) Ja (privat slutpunkt) Ja (privat slutpunkt)
Replikering och redundans Ja Ja Ja Ja
Nätverksisolering Ja Ja Ja Ja
Microsoft Entra ID-baserad autentisering Ja Ja Ja Ja
Skalning Ja Ja Ja Ja
Datapersistence Ja Ja Ja Ja
Zonredundans Ja Ja Ja Ja
Geo-replikering Ja (aktiv) Ja (aktiv) Ja (aktiv) Nej
Anslutningsgranskningsloggar Ja (händelsebaserad) Ja (händelsebaserad) Ja (händelsebaserad) Ja (händelsebaserad)
JSON-datastrukturer(d.s. Redis JSON) Ja Ja Ja Ja
Sökfunktioner (inklusive vektorsökning) Ja Ja Ja Nej
Probabilistiska datastrukturer (det vill: Redis Bloom) Ja Ja Ja Ja
Time Series-databasfunktion (det vill: Redis TimeSeries) Ja Ja Ja Ja
Redis on Flash (även kallat autotiering) Ja Ja Ja Ja
Import/Export Ja Ja Ja Ja
Uppdatera kanal- och schemauppdateringar Nej Nej Nej Nej

Viktigt!

Alternativen Balanced B0 och B1 SKU stöder inte aktiv geo-replikering.

Viktigt!

Serviceavtal är endast tillgängligt på GA och är inte tillgängligt under förhandsversionen.

Kommentar

Stöd för nedskalning är begränsat i vissa situationer. Mer information finns i Krav/begränsningar för skalning av Azure Managed Redis.

Andra överväganden när du väljer en nivå

  • Nätverksprestanda: Om du har en arbetsbelastning som kräver högt dataflöde kan du bli flaskhalsad av nätverksbandbredden. Du kan öka bandbredden genom att flytta upp till en högre prestandanivå eller genom att flytta till en stor instansstorlek. Större storleksinstanser har mer bandbredd på grund av den underliggande virtuella datorn som är värd för cachen. Högre bandbreddsgränser hjälper dig att undvika nätverksmättnad som orsakar timeouter i ditt program. Mer information om bandbreddsprestanda finns i Prestandatestning
  • Maximalt antal klientanslutningar: Varje SKU har ett maximalt antal klientanslutningar. Den här gränsen ökar med högre prestandanivåer och större instansstorlekar. Mer information om gränsen för varje SKU finns i Prissättning för Azure Managed Redis.
  • Hög tillgänglighet: Azure Managed Redis innehåller flera alternativ för hög tillgänglighet . Serviceavtalet täcker endast anslutningen mellan cachens slutpunkter. Serviceavtalet omfattar inte skydd mot dataförlust. Mer information om serviceavtalet finns i serviceavtalet. Det går att inaktivera hög tillgänglighet i en Azure Managed Redis-instans. Detta sänker priset men resulterar i dataförlust och stilleståndstid. Vi rekommenderar bara att du inaktiverar hög tillgänglighet för utvecklings-/testscenarier.

Andra prisöverväganden

Viktigt!

Azure Managed Redis Enterprise kräver en IP-adress för varje cacheinstans. För närvarande absorberas IP-adressavgiften av Azure Managed Redis och skickas inte vidare till kunder. Detta kan ändras i framtiden. Mer information finns i Prissättning för IP-adresser.

Viktigt!

Med aktiv geo-replikering genereras dataöverföring mellan Azure-regioner. Dessa bandbreddsavgifter absorberas för närvarande av Azure Managed Redis och skickas inte vidare till kunder. Detta kan ändras i framtiden. Mer information finns i Bandbreddspriser.

Tillgänglighet efter region

Azure Managed Redis expanderar kontinuerligt till nya regioner. Information om hur du kontrollerar tillgängligheten per region finns i Produkter som är tillgängliga per region.

Migrering från Azure Cache for Redis

Mer information om hur du migrerar från Azure Cache for Redis till Azure Managed Redis finns i Flytta från Azure Cache for Redis till Azure Managed Redis