Vad är Azure Cache for Redis?

Azure Cache for Redis tillhandahåller ett minnesinternt datalager baserat på Redis-programvaran . Redis förbättrar prestanda och skalbarhet för ett program som använder serverdelsdatalager kraftigt. 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.

Azure Cache for Redis erbjuder både Redis med öppen källkod (OSS Redis) och en kommersiell produkt från Redis Inc. (Redis Enterprise) som en hanterad tjänst. Det ger säkra och dedikerade Redis-serverinstanser och fullständig Redis API-kompatibilitet. Tjänsten drivs av Microsoft, som finns i Azure och kan användas av alla program inom eller utanför Azure.

Azure Cache for Redis kan användas som en distribuerad data- eller innehållscache, ett sessionsarkiv, en meddelandekö med mera. Den kan distribueras fristående. Eller så kan den distribueras tillsammans med andra Azure-databastjänster, till exempel Azure SQL eller Azure Cosmos DB.

Viktiga scenarier

Azure Cache for Redis förbättrar programprestanda 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 Cache for 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, till exempel Azure Cache for Redis, är det snabbare att associera information med en användare än att interagera med en fullständig relationsdatabas.
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 Cache for Redis tillhandahåller en distribuerad kö för att aktivera det här mönstret i ditt program.
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 Cache for Redis stöder körning av en batch med kommandon som en enda transaktion.

Redis-versioner

Azure Cache for Redis stöder OSS Redis version 4.0.x och 6.0.x. Vi har tagit beslutet att hoppa över Redis 5.0 för att ge dig den senaste versionen. Tidigare hade Azure Cache for Redis en enda Redis-version. I framtiden kan du välja mellan en nyare större versionsuppgradering och minst en äldre stabil version. Du kan välja den version som fungerar bäst för ditt program.

Tjänstnivåer

Azure Cache for Redis är tillgängligt på dessa nivåer:

Nivå beskrivning
Grundläggande En OSS Redis-cache som körs på en enda virtuell dator. Den här nivån har inget serviceavtal (SLA) och är idealisk för utveckling/testning och icke-kritiska arbetsbelastningar.
Standard En OSS Redis-cache som körs på två virtuella datorer i en replikerad konfiguration.
Premium OSS Redis-cacheminnen med höga prestanda. Den här nivån erbjuder högre dataflöde, kortare svarstid, bättre tillgänglighet och fler funktioner. Premium-cacheminnen distribueras på kraftfullare virtuella datorer jämfört med de virtuella datorerna för Basic- eller Standard-cacheminnen.
Stora företag Högpresterande cacheminnen som drivs av Redis Inc.:s Redis Enterprise-programvara. Den här nivån stöder Redis-moduler som RediSearch, RedisBloom, RedisJSON och RedisTimeSeries. Dessutom erbjuder den ännu högre tillgänglighet än Premium-nivån.
Enterprise Flash Kostnadseffektiva stora cacheminnen som drivs av Redis Inc.:s Redis Enterprise-programvara. Den här nivån utökar Redis-datalagringen till icke-volatilt minne, vilket är billigare än DRAM, på en virtuell dator. Det minskar den totala minneskostnaden per GB.

Jämför funktioner

Prissättningen för Azure Cache for Redis innehåller en detaljerad jämförelse av varje nivå. Följande tabell beskriver några av de funktioner som stöds på respektive nivå:

Funktionsbeskrivning Basic Standard Premium Stora företag Enterprise Flash
Serviceavtal (SLA) -
Datakryptering under överföring
Nätverksisolering
Skalning Förhandsgranska Förhandsgranskning
OSS-klustring - -
Datapersistence - - Förhandsgranska Förhandsgranskning
Zonredundans - - Tillgängligt Tillgänglig Tillgängligt
Geo-replikering - - ✔ (Passiv) ✔ (Aktiv) ✔ (Aktiv)
granskningsloggar för Anslut ion - - ✔ (Avsökningsbaserad) ✔ (Händelsebaserad) ✔ (Händelsebaserad)
Redis-moduler - - - Förhandsgranska
Import/Export - -
Starta om - -
Uppdatera kanal- och schemauppdateringar - -

Kommentar

Enterprise Flash-nivån stöder för närvarande endast RediSearch-modulen (i förhandsversion) och RedisJSON-modulen.

Välja rätt nivå

Överväg följande alternativ när du väljer en Azure Cache for Redis-nivå:

  • Minne: Nivåerna Basic och Standard erbjuder 250 MB – 53 GB, Premium-nivån 6 GB – 1,2 TB, Enterprise-nivån 4 GB – 2 TB och Enterprise Flash-nivån 300 GB – 4,5 TB. Om du vill skapa en Premium-nivåcache som är större än 120 GB kan du använda Redis OSS-klustring. Mer information finns i Prissättning för Azure Cache for Redis.
  • Prestanda: Cacheminnen på Premium- och Enterprise-nivåerna distribueras på maskinvara som har snabbare processorer, vilket ger bättre prestanda jämfört med nivån Basic eller Standard. Enterprise-nivån har vanligtvis den bästa prestandan för de flesta arbetsbelastningar, särskilt med större cacheinstanser. Mer information finns i Prestandatestning.
  • Dedikerad kärna för Redis-server: Alla cacheminnen utom C0 kör dedikerade vCPU:er. Nivåerna Basic, Standard och Premium kör öppen källkod Redis, som avsiktligt endast använder en tråd för kommandobearbetning. På dessa nivåer förbättrar fler virtuella processorer vanligtvis dataflödesprestanda eftersom Azure Cache for Redis använder andra virtuella processorer för I/O-bearbetning eller för OS-processer. Men att lägga till fler vCPU:er per instans kanske inte ger linjära prestandaökningar. Utskalning ökar vanligtvis prestandan mer än att skala upp på dessa nivåer. Enterprise- och Enterprise Flash-nivåcacheminnen körs på Redis Enterprise som kan använda flera vCPU:er per instans, vilket också kan öka prestandan avsevärt jämfört med andra nivåer. För Flash-nivåer för Företag och Företag rekommenderas uppskalning innan du skalar ut. Mer information finns i Sharding och CPU-användning.
  • Nätverksprestanda: Om du har en arbetsbelastning som kräver högt dataflöde erbjuder Premium- eller Enterprise-nivån mer bandbredd jämfört med Basic eller Standard. Även inom varje nivå har cacheminnen med större storlek mer bandbredd på grund av den underliggande virtuella datorn som är värd för cacheminnet. Högre bandbreddsgränser hjälper dig att undvika nätverksmättnad som orsakar timeouter i ditt program. Mer information finns i Prestandatestning.
  • Maximalt antal klientanslutningar: Premium- och Enterprise-nivåerna erbjuder det maximala antalet klienter som kan ansluta till Redis, vilket ger högre antal anslutningar för större cacheminnen. Klustring ökar den totala mängden nätverksbandbredd som är tillgänglig för en klustrad cache.
  • Hög tillgänglighet: Azure Cache for Redis innehåller flera alternativ för hög tillgänglighet . Det garanterar att en Standard-, Premium- eller Enterprise-cache är tillgänglig enligt vårt serviceavtal. Serviceavtalet täcker endast anslutningen mellan cachens slutpunkter. Serviceavtalet omfattar inte skydd mot dataförlust. Vi rekommenderar att du använder funktionen Redis-datapersistence på Premium- och Enterprise-nivåerna för att öka motståndskraften mot dataförlust.
  • Datapersistence: Nivåerna Premium och Enterprise gör att du kan spara cachedata till ett Azure Storage-konto respektive en hanterad disk. Underliggande infrastrukturproblem kan leda till potentiell dataförlust. Vi rekommenderar att du använder funktionen Redis-datapersistence på dessa nivåer för att öka motståndskraften mot dataförlust. Azure Cache for Redis erbjuder alternativ för både RDB och AOF (förhandsversion). Datapersistence kan aktiveras via Azure-portalen och CLI. För Premium-nivån, se Så här konfigurerar du beständighet för en Premium Azure Cache for Redis.
  • Nätverksisolering: Distributioner av Azure Private Link och virtuellt nätverk (VNet) ger förbättrad säkerhet och trafikisolering för Azure Cache for Redis. Med VNet kan du ytterligare begränsa åtkomsten via principer för nätverksåtkomstkontroll. Mer information finns i Azure Cache for Redis med Azure Private Link och Så här konfigurerar du stöd för virtuellt nätverk för en Premium Azure Cache for Redis.
  • Redis-moduler: Företagsnivåer stöder RediSearch, RedisBloom, RedisTimeSeries och RedisJSON. Dessa moduler lägger till nya datatyper och funktioner i Redis.

Du kan skala cachen från Basic-nivån upp till Premium när den har skapats. För närvarande stöds inte nedskalning till en lägre nivå. Stegvisa skalningsinstruktioner finns i Skala Azure Cache for Redis och Skala – nivåerna Basic, Standard och Premium.

Särskilda överväganden för Enterprise-nivåer

Enterprise-nivåerna förlitar sig på Redis Enterprise, en kommersiell variant av Redis från Redis Inc. Kunder får och betalar för en licens till den här programvaran via ett Azure Marketplace-erbjudande. Azure Cache for Redis hanterar licensförvärvet så att du inte behöver göra det separat. Om du vill köpa på Azure Marketplace måste du ha följande förutsättningar:

  • Din Azure-prenumeration har ett giltigt betalningsmedel. Azure-krediter eller kostnadsfria MSDN-prenumerationer stöds inte.
  • Din organisation tillåter Azure Marketplace-köp.
  • Om du använder en privat Marketplace måste den innehålla Redis Inc. Enterprise-erbjudandet.

Viktigt!

Azure Cache for Redis Enterprise kräver standardnätverkslastbalanserare som debiteras separat från själva cacheinstanserna. För närvarande absorberas dessa avgifter av Azure Cache for Redis och skickas inte vidare till kunder. Detta kan ändras i framtiden. Mer information finns i Prissättning för Load Balancer.

Om en Enterprise-cache har konfigurerats för flera Tillgänglighetszoner absorberas dataöverföringsavgifterna av Azure Cache for Redis och skickas inte till kunderna. Detta kan komma att ändras i framtiden, där dataöverföringen debiteras enligt standardfrekvensen för nätverksbandbredd

Dessutom lägger datapersistence till Managed Disks. Användningen av dessa resurser är kostnadsfri under den offentliga förhandsversionen av Enterprise-datapersistence. Detta kan ändras när funktionen blir allmänt tillgänglig.

Tillgänglighet efter region

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