Om Azure Cache for Redis
Azure Cache for Redis ett minnesbaserat datalager baserat på Redis-programvaran. Redis förbättrar prestanda och skalbarhet för ett program som använder mycket datalager i backend. 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 moderna program en viktig datalagringslösning med korta svarstider och stora dataflöden.
Azure Cache for Redis erbjuder både Redis Med öppen källkod (OSS Redis) och en kommersiell produkt från Redis Labs (Redis Enterprise) som en hanterad tjänst. Den tillhandahåller säkra och dedikerade Redis-serverinstanser och fullständig Redis API-kompatibilitet. Tjänsten drivs av Microsoft, finns i Azure och kan användas av alla program i eller utanför Azure.
Azure Cache for Redis kan användas som en distribuerad data- eller innehållscache, ett sessionslager, en meddelandekoordinator med mera. Den kan distribueras som en fristående. Eller så kan den distribueras tillsammans med andra Azure-databastjänster, till exempel Azure SQL eller Cosmos DB.
Viktiga scenarier
Azure Cache for Redis programprestanda genom att stödja vanliga programarkitekturmönster. 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 ett cacheminne. Det är vanligt att använda cache-aside-mönstret för att läsa in data i cacheminnet efter behov. När systemet gör ändringar i data kan systemet även uppdatera cachen, som sedan distribueras till andra klienter. Dessutom kan systemet ange en förfallotid för data eller använda en avlägsningsprincip 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, banderoller. Dessa statiska objekt bör inte ändras ofta. Om du använder en minnescache får du snabb åtkomst till statiskt innehåll jämfört med backend-datalager. Det här mönstret minskar bearbetningstiden och serverbelastningen, vilket gör att webbservrarna kan vara mer responsiva. 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-cacheprovidern för utdata 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 en webbapp kan associera med användarcookies. Lagring av för mycket i en cookie kan ha en negativ inverkan på prestandan när cookiestorleken växer och skickas och valideras med varje begäran. En typisk lösning använder cookien som en nyckel för att fråga efter data i en databas. Ett mycket snabbare sätt än att interagera med en hel relationsdatabas är att använda en minnesintern cache, som Azure Cache for Redis, till att associera information med en användare. |
| 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 köas 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 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 backend-datalager 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 kommandobatch som en enda transaktion. |
Redis-versioner
Azure Cache for Redis oss Redis version 4.0.x och 6.0.x. Vi har valt att hoppa över Redis 5.0 för att få den senaste versionen. Tidigare hade Azure Cache for Redis en enda Redis-version. I framtiden kommer det att tillhandahålla en nyare större versionsuppgradering och minst en äldre stabil version. Du kan välja vilken version som fungerar bäst för ditt program.
Tjänstnivåer
Azure Cache for Redis finns på följande nivåer:
| Nivå | Beskrivning |
|---|---|
| Basic | En OSS Redis-cache som körs på en enda virtuell dator. Den här nivån har inget serviceavtal (SLA) och är perfekt 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 | HÖGPRESTERANDE OSS Redis-cacher. Den här nivån erbjuder högre dataflöde, kortare svarstider, 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 Labs Redis Enterprise-programvara. Den här nivån stöder Redis-moduler som RediSearch, RedisBloom och RedisTimeSeries. Dessutom erbjuder den ännu högre tillgänglighet än den Premium nivån. |
| Enterprise Flash | Kostnadseffektiva stora cacheminnen som drivs av Redis Labs Redis Enterprise-programvara. Den här nivån utökar Redis-datalagringen till icke-beständigt minne, vilket är billigare än DRAM, på en virtuell dator. Det minskar den totala minneskostnaden per GB. |
Jämför funktioner
Prislistan Azure Cache for Redis 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 | ✔ | ✔ | ✔ | ✔ | ✔ |
| Nätverksisolering | ✔ | ✔ | ✔ | ✔ | ✔ |
| Skalning | ✔ | ✔ | ✔ | - | - |
| OSS-klustring | - | - | ✔ | ✔ | ✔ |
| Datapersistence | - | - | ✔ | Förhandsgranskning | Förhandsgranskning |
| Zonredundans | - | - | ✔ | ✔ | ✔ |
| Geo-replikering | - | - | ✔ | Förhandsgranskning | Förhandsgranskning |
| Redis-moduler | - | - | - | ✔ | - |
| Import/Export | - | - | ✔ | ✔ | ✔ |
| Starta om | ✔ | ✔ | ✔ | - | - |
| Schemalagda uppdateringar | ✔ | ✔ | ✔ | - | - |
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. den Premium nivån 6 GB–1,2 TB; Enterprise-nivåerna 12 GB–14 TB. Om du vill Premium cachelagringsnivå som är större än 120 GB kan du använda Redis OSS-klustring. Mer information finns i Azure Cache for Redis priser. Mer information finns i Så här konfigurerar du klustring för en Premium Azure Cache for Redis.
- Prestanda: Cacheminnen i Premium- och Enterprise-nivåerna distribueras på maskinvara som har snabbare processorer, vilket ger bättre prestanda jämfört med Basic- eller Standard-nivån. Premium cacheminnen har högre dataflöde och kortare svarstider. Mer information finns i Azure Cache for Redis prestanda.
- Dedikerad kärna för Redis-server: Alla cacheminnen utom C0 kör dedikerade VIRTUELLA datorkärnor. Redis använder som standard bara en tråd för kommandobearbetning. Azure Cache for Redis använder andra kärnor för I/O-bearbetning. Om du har fler kärnor förbättras dataflödesprestanda även om det inte ger linjär skalning. Dessutom har större VM-storlekar vanligtvis högre bandbreddsgränser än mindre. Det hjälper dig att undvika nätverksmättnad, vilket orsakar tidsgränser i ditt program.
- Nätverksprestanda: Om du har en arbetsbelastning som kräver högt dataflöde erbjuder Premium eller Enterprise mer bandbredd jämfört med Basic eller Standard. På varje nivå har större cacheminnen större bandbredd på grund av den underliggande virtuella dator som är värd för cachen. Mer information finns i Azure Cache for Redis prestanda.
- Maximalt antal klientanslutningar: Premium- och Enterprise-nivåerna erbjuder det maximala antalet klienter som kan ansluta till Redis, vilket ger ett 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 flera alternativ för hög tillgänglighet. Den garanterar att en Standard-, Premium- eller Enterprise-cache är tillgänglig enligt vårt serviceavtal. Serviceavtalet omfattar endast anslutning till cacheslutpunkterna. Serviceavtalet omfattar inte skydd mot dataförlust. Vi rekommenderar att du använder funktionen Redis-dataperssistence på Premium- och Enterprise-nivåer för att öka återhämtningsförmågan mot dataförlust.
- Datapersistence: Med Premium- och Enterprise-nivåerna kan du 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 redis-funktionen för dataperssistence på dessa nivåer för att öka återhämtningsförmågan mot dataförlust. Azure Cache for Redis erbjuder alternativ för både RDB och AOF (förhandsversion). Datapersistence kan aktiveras via Azure Portal och CLI. Information om Premium finns i Så här konfigurerar du beständighet för en Premium Azure Cache for Redis.
- Nätverksisolering: Azure Private Link och Virtual Network distributioner (VNET) ger förbättrad säkerhet och trafikisolering för dina 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 Virtual Network stöd för en Premium Azure Cache for Redis.
- Redis-moduler: Företagsnivåer stöder RediSearch, RedisBloom och RedisTimeSeries. De här modulerna lägger till nya datatyper och funktioner i Redis.
Du kan skala din cache från Basic-nivån upp till Premium när den har skapats. Det finns för närvarande inte stöd för att skala ned till en lägre nivå. Stegvisa skalningsanvisningar finns i Skala Azure Cache for Redis och Automatisera en skalningsåtgärd.
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 Labs. Kunder erhåller och betalar för en licens för 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 Azure Marketplace måste du ha följande krav:
- Din Azure-prenumeration har ett giltigt betalningsmedel. Azure-krediter eller kostnadsfria MSDN-prenumerationer stöds inte.
- Din organisation tillåter Azure Marketplace inköp.
- Om du använder en privat Marketplace måste den innehålla Redis Labs Enterprise-erbjudandet.
Viktigt
Azure Cache for Redis Enterprise kräver lastbalanserare för nätverk som debiteras separat från själva cacheinstanserna. Mer information finns i Load Balancer prissättning. Om en Företagscache har konfigurerats för flera Tillgänglighetszoner debiteras dataöverföringen enligt standardpriserna för nätverksbandbredd från och med 1 juli 2022.
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.
Nästa steg
- Skapa en Redis-cache med öppen källkod
- Skapa en Redis Enterprise-cache
- Använda Azure Cache for Redis i en ASP.NET-webbapp
- Använda Azure Cache for Redis i .NET Core
- Använda Azure Cache for Redis i .NET Framework
- Använda Azure Cache for Redis i Node.js
- Använda Azure Cache for Redis i Java
- Använda Azure Cache for Redis i Python