Wat is Azure Cache voor Redis?
Azure Cache voor Redis biedt gegevensopslag in het geheugen op basis van de Redis-software. Redis verbetert de prestaties en schaalbaarheid van een toepassing die intensief gebruikmaakt van back-endgegevensarchieven. Het kan grote hoeveelheden toepassingsaanvragen verwerken door veelgebruikte gegevens in het servergeheugen te bewaren, die snel kunnen worden geschreven naar en gelezen. Redis is een essentiële oplossing voor gegevensopslag met lage latentie en hoge doorvoer voor moderne toepassingen.
Azure Cache voor Redis biedt zowel de Redis open source (OSS Redis) als een commercieel product van Redis Inc. (Redis Enterprise) als een beheerde service. Het biedt veilige en toegewezen Redis-serverinstanties en volledige Redis API-compatibiliteit. Microsoft beheert de service, gehost in Azure en kan worden gebruikt door elke toepassing binnen of buiten Azure.
Azure Cache voor Redis kan worden gebruikt als gedistribueerde gegevens- of inhoudscache, sessieopslag, berichtenbroker en meer. Het kan zelfstandig worden geïmplementeerd. Het kan ook worden geïmplementeerd samen met andere Azure-databaseservices, zoals Azure SQL of Azure Cosmos DB.
Belangrijke scenario's
Azure Cache voor Redis verbetert de prestaties van toepassingen door veelgebruikte architectuurpatronen van toepassingen te ondersteunen. Enkele van de meest voorkomende zijn de volgende patronen:
Patroon | Beschrijving |
---|---|
Gegevenscache | Databases zijn vaak te groot om rechtstreeks in een cache te laden. Het is gebruikelijk om het cache-aside-patroon te gebruiken om gegevens alleen naar behoefte in de cache te laden. Als het systeem wijzigingen aanbrengt in de gegevens, kan het ook de cache bijwerken, die vervolgens wordt gedistribueerd naar andere clients. Het systeem kan bovendien een vervaldatum instellen voor gegevens of een verwijderingsbeleid gebruiken om gegevensupdates in de cache te activeren. |
Inhoudscache | Veel webpagina's worden gegenereerd op basis van sjablonen die gebruikmaken van statische inhoud, zoals kopteksten, voetteksten en banners. Deze statische items worden meestal niet vaak bijgewerkt. Cache in het geheugen biedt snelle toegang tot statische inhoud vergeleken met back-endgegevensarchieven. Dit patroon vermindert de verwerkingstijd en serverbelasting, waardoor webservers sneller kunnen reageren. Zo hebt u minder servers nodig om belasting te verwerken. Azure Cache voor Redis biedt de Redis Output Cache Provider om dit patroon te ondersteunen met ASP.NET. |
Sessieopslag | Dit patroon wordt vaak gebruikt met winkelwagens en andere gebruikersgeschiedenisgegevens die een webtoepassing kan koppelen aan gebruikerscookies. Het opslaan van te veel in een cookie kan een negatief effect hebben op de prestaties naarmate de cookiegrootte toeneemt en wordt doorgegeven en gevalideerd bij elke aanvraag. Een gangbare oplossing is om de cookie als sleutel te gebruiken voor het opvragen van gegevens in een database. Wanneer u een cache in het geheugen gebruikt, zoals Azure Cache voor Redis, is het sneller om informatie aan een gebruiker te koppelen dan interactie met een volledige relationele database. |
Wachtrij met taken en berichten | Toepassingen voegen taken vaak toe aan een wachtrij als er tijd nodig is om de bewerkingen van een bepaalde aanvraag uit te voeren. Langdurige bewerkingen worden in de wachtrij gezet en op volgorde verwerkt, vaak door een andere server. Deze methode van werk uitstellen heet taken in de wachtrij plaatsen. Azure Cache voor Redis biedt een gedistribueerde wachtrij om dit patroon in te schakelen in uw toepassing. |
Gedistribueerde transacties | Toepassingen vereisen soms een reeks opdrachten voor een back-endgegevensopslag die moeten worden uitgevoerd als één atomische bewerking. Alle opdrachten moeten slagen of alle moet worden teruggezet naar de beginstatus. Azure Cache voor Redis ondersteunt het uitvoeren van een batch met opdrachten als één transactie. |
Redis-versies
Azure Cache voor Redis ondersteunt OSS Redis versie 4.0.x en 6.0.x. We hebben besloten om Redis 5.0 over te slaan om u de nieuwste versie te geven. Voorheen onderhouden Azure Cache voor Redis één Redis-versie. In de toekomst kunt u kiezen uit een nieuwere primaire release-upgrade en ten minste één oudere stabiele versie. U kunt de versie kiezen die het beste werkt voor uw toepassing.
Servicelagen
Azure Cache voor Redis is beschikbaar in deze lagen:
Laag | Beschrijving |
---|---|
Basis | Een OSS Redis-cache die op één VM wordt uitgevoerd. Deze laag heeft geen SLA (Service Level Agreement) en is ideaal voor ontwikkelings-/test- en niet-kritieke workloads. |
Standaard | Een OSS Redis-cache die wordt uitgevoerd op twee VM’s in een gerepliceerde configuratie. |
Premium | Krachtige OSS Redis-caches. Deze laag biedt hogere doorvoer, lagere latentie, betere beschikbaarheid en meer functies. Premium-caches worden geïmplementeerd op krachtigere VM's in vergelijking met de VM's voor Basic- of Standard-caches. |
Enterprise | High-performance caches mogelijk gemaakt door Redis Inc.'s Redis Enterprise software. Deze laag ondersteunt Redis-modules, waaronder RediSearch, RedisBloom, RedisJSON en RedisTimeSeries. Het biedt ook nog hogere beschikbaarheid dan de Premium-laag. |
Enterprise Flash | Rendabele grote caches mogelijk gemaakt door Redis Inc.'s Redis Enterprise-software. Deze laag breidt Redis-gegevensopslag uit naar niet-compatibel geheugen, wat goedkoper is dan DRAM, op een VIRTUELE machine. Dit vermindert de totale kosten per GB geheugen. |
Vergelijking van functies
Prijzen van Azure Cache voor Redis bevat een gedetailleerde vergelijking van elke laag. In de volgende tabel worden de functies beschreven die door elke laag worden ondersteund:
Omschrijving | Basic | Standard | Premium | Enterprise | Enterprise Flash |
---|---|---|---|---|---|
Service Level Agreement (SLA) | Nr. | Ja | Ja | Ja | Ja |
Gegevensversleuteling tijdens overdracht | Ja | Ja | Ja | Ja | Ja |
Netwerkisolatie | Ja | Ja | Ja | Ja | Ja |
Schalen | Ja | Ja | Ja | Ja | Ja |
OSS-clustering | Nee | No | Ja | Ja | Ja |
Gegevenspersistentie | Nee | No | Ja | Preview | Preview |
Zoneredundantie | Nee | Preview | Preview | Beschikbaar | Beschikbaar |
Geo-replicatie | Nee | Nr. | Ja (passief) | Ja (actief) | Ja (actief) |
Auditlogboeken voor verbindingen | Nee | Nr. | Ja (op basis van poll) | Ja (op basis van gebeurtenissen) | Ja (op basis van gebeurtenissen) |
Redis-modules | Nee | Nee | No | Ja | Preview uitvoeren |
Import/export | Nee | No | Ja | Ja | Ja |
Opnieuw opstarten | Ja | Ja | Ja | No | Nr. |
Kanaal bijwerken en updates plannen | Ja | Ja | Ja | No | Nr. |
Notitie
De Enterprise Flash-laag ondersteunt momenteel alleen de RediSearch-module (in preview) en de RedisJSON-module.
Notitie
De Enterprise- en Enterprise Flash-lagen ondersteunen momenteel alleen omhoog schalen en uitschalen. Omlaag schalen en inschalen wordt nog niet ondersteund.
De juiste laag kiezen
Houd rekening met de volgende opties bij het kiezen van een Azure Cache voor Redis laag:
- Geheugen: De Basic- en Standard-lagen bieden 250 MB – 53 GB; de Premium-laag 6 GB - 1,2 TB; de Enterprise-laag 1 GB - 2 TB en de Enterprise Flash-laag 300 GB - 4,5 TB. Als u grotere cache-exemplaren wilt maken, kunt u uitschalen gebruiken. Zie Azure Cache voor Redis Prijzen voor meer informatie.
- Prestaties: Caches in de Premium- en Enterprise-lagen worden geïmplementeerd op hardware met snellere processors, waardoor betere prestaties worden geboden in vergelijking met de Basic- of Standard-laag. De Enterprise-laag heeft doorgaans de beste prestaties voor de meeste workloads, met name bij grotere cache-exemplaren. Zie Prestatietests voor meer informatie.
- Toegewezen kern voor Redis-server: alle caches behalve C0 voeren toegewezen vCPU's uit. De Basic-, Standard- en Premium-lagen voeren open source Redis uit, die standaard slechts één thread gebruikt voor het verwerken van opdrachten. In deze lagen verbetert het gebruik van meer vCPU's meestal de doorvoerprestaties omdat Azure Cache voor Redis andere vCPU's gebruikt voor I/O-verwerking of voor besturingssysteemprocessen. Het toevoegen van meer vCPU's per exemplaar levert echter mogelijk geen lineaire prestatieverbeteringen op. Uitschalen verbetert meestal de prestaties meer dan omhoog schalen in deze lagen. Zowel de Enterprise- als Enterprise Flash-lagen worden uitgevoerd op Redis Enterprise, dat meerdere vCPU's per exemplaar kan gebruiken, wat ook de prestaties aanzienlijk kan verhogen ten opzichte van andere lagen. Voor Enterprise- en Enterprise-flashlagen wordt omhoog schalen aanbevolen voordat u uitschaalt.
- Netwerkprestaties: als u een workload hebt waarvoor hoge doorvoer is vereist, biedt de Premium- of Enterprise-laag meer bandbreedte in vergelijking met Basic of Standard. Daarnaast hebben grotere caches in elke laag meer bandbreedte vanwege de onderliggende virtuele machine die als host fungeert voor de cache. Hogere bandbreedtelimieten helpen u netwerkverzadiging te voorkomen die time-outs in uw toepassing veroorzaken. Zie Prestatietests voor meer informatie.
- Maximum aantal clientverbindingen: de Premium- en Enterprise-lagen bieden het maximum aantal clients dat verbinding kan maken met Redis, wat hogere aantallen verbindingen biedt voor grotere caches. Clustering verhoogt de totale hoeveelheid netwerkbandbreedte die beschikbaar is voor een geclusterde cache.
- Hoge beschikbaarheid: Azure Cache voor Redis biedt meerdere opties voor hoge beschikbaarheid. Het garandeert dat een Standard-, Premium-, of Enterprise-cache beschikbaar is volgens onze SLA. De SLA heeft alleen betrekking op connectiviteit met de cache-eindpunten. De SLA biedt geen bescherming tegen gegevensverlies. We raden u aan de redis-functie voor gegevenspersistentie te gebruiken in de Premium- en Enterprise-lagen om de tolerantie tegen gegevensverlies te vergroten.
- Gegevenspersistentie: met de Premium- en Enterprise-lagen kunt u de cachegegevens behouden naar een Azure Storage-account en een beheerde schijf. Onderliggende problemen met de infrastructuur kunnen leiden tot mogelijk gegevensverlies. We raden u aan de redis-functie voor gegevenspersistentie in deze lagen te gebruiken om de tolerantie tegen gegevensverlies te vergroten. Azure Cache voor Redis biedt opties voor RDB en AOF (preview). Gegevenspersistentie kan worden ingeschakeld via Azure Portal en CLI. Zie Persistentie configureren voor een Premium-Azure Cache voor Redis voor de Premium-laag.
- Netwerkisolatie: Implementaties van Azure Private Link en VNet (Virtual Network) bieden een verbeterde isolatie van beveiliging en verkeer voor uw Azure Cache voor Redis. Met VNet kunt u de toegang verder beperken via beleid voor netwerktoegangsbeheer. Zie voor meer informatie Azure Cache voor Redis met Azure Private Link en Hoe u Virtual Network-ondersteuning kunt configureren voor een Premium Azure Cache voor Redis.
- Redis Modules: Enterprise-lagen ondersteunen RediSearch, RedisBloom, RedisTimeSeries en RedisJSON. Deze modules voegen nieuwe gegevenstypen en functionaliteit toe aan Redis.
U kunt de cache van de Basic-laag omhoog schalen naar Premium nadat deze is gemaakt. Omlaag schalen naar een lagere laag wordt momenteel niet ondersteund. Zie Voor stapsgewijze instructies voor schalen Azure Cache voor Redis en schalen - Basic-, Standard- en Premium-lagen.
Speciale overwegingen voor Enterprise-lagen
De Enterprise-lagen zijn afhankelijk van Redis Enterprise, een commerciële variant van Redis Inc. Klanten verkrijgen en betalen voor een licentie voor deze software via een Azure Marketplace-aanbieding. Azure Cache voor Redis beheert de aanschaf van licenties, zodat u dit niet afzonderlijk hoeft te doen. Als u wilt kopen op Azure Marketplace, moet u over de volgende vereisten beschikken:
- Uw Azure-abonnement heeft een geldig betaal middel. Azure-tegoed of gratis MSDN-abonnementen worden niet ondersteund.
- Uw organisatie staat Azure Marketplace-aankopen toe.
- Als u een persoonlijke Marketplace gebruikt, moet deze de Redis Inc. Enterprise-aanbieding bevatten.
Belangrijk
Azure Cache voor Redis Enterprise vereist standaard netwerk load balancers die afzonderlijk van cache-exemplaren worden in rekening gebracht. Momenteel worden deze kosten opgenomen door Azure Cache voor Redis en niet doorgegeven aan klanten. Dit kan in de toekomst veranderen. Zie de prijzen van Load Balancer voor meer informatie.
Als een Enterprise-cache is geconfigureerd voor meerdere Beschikbaarheidszones, worden kosten voor gegevensoverdracht opgenomen in Azure Cache voor Redis en niet doorgegeven aan klanten. Dit kan in de toekomst veranderen, waarbij gegevensoverdracht wordt gefactureerd volgens de standaard netwerkbandbreedtetarieven
Daarnaast worden managed disks toegevoegd door gegevenspersistentie. Het gebruik van deze resources is gratis tijdens de openbare preview van enterprise-gegevenspersistentie. Dit kan veranderen wanneer de functie algemeen beschikbaar wordt.
Beschikbaarheid per regio
Azure Cache voor Redis wordt voortdurend uitgebreid naar nieuwe regio's. Zie Producten die beschikbaar zijn per regio om de beschikbaarheid per regio te controleren.
Gerelateerde inhoud
- Een opensource-Redis-cache maken
- Een Redis Enterprise-cache maken
- Azure Cache voor Redis in een ASP.NET-web-app gebruiken
- Azure Cache voor Redis in .NET Core gebruiken
- Azure Cache voor Redis in .NET Framework gebruiken
- Azure Cache voor Redis in Node.js gebruiken
- Azure Cache voor Redis in Java gebruiken
- Azure Cache voor Redis in Python gebruiken