Beslissen of u Azure Cache voor Redis wilt gebruiken

Voltooid

Uw sportwebsite heeft een database erachter die gegevens retourneert door query's uit te voeren. De prestaties nemen echter af wanneer de belasting hoog is, met name tijdens grote sportevenementen. In gehoste omgevingen geldt: hoe hoger het resourcegebruik, hoe hoger de kosten. Het opslaan van gegevens in de cache zorgt ervoor dat uw website goed presteert en economisch wordt uitgevoerd.

Wat is opslaan in de cache?

Caching is het opslaan van veelgebruikte gegevens in het geheugen zeer dicht bij de toepassing die de gegevens verbruikt. U kunt caching gebruiken om de prestaties te verbeteren en de belasting op uw servers te verminderen. Wij gebruiken Redis voor het maken van een in-memory cache waarmee een uitstekende latentie en potentieel prestatieverbeteringen kunnen worden bereikt.

Wat is Redis Cache?

Redis (REmote DIctionary Server) Cache is een open-source in-memory opslag voor sleutelwaardeparen. Redis is populair omdat het snel is en geschikt is voor het opslaan en bewerken van veelvoorkomende gegevenstypen, zoals tekenreeksen, hashes en sets. Het wordt ook beschouwd als ontwikkelaarsvriendelijk, omdat het onder andere meerdere talen ondersteunt, zoals Python, C, C++, C#, Java en JavaScript.

Wat is Azure Cache voor Redis?

Azure Cache voor Redis is gebaseerd op de populaire open-source Redis-cache. Hiermee hebt u toegang tot een beveiligde, toegewezen Redis-cache die wordt beheerd door Microsoft. Een cache die u met Azure Cache voor Redis hebt gemaakt, is toegankelijk vanuit elke toepassing in Azure. Azure Cache voor Redis wordt meestal gebruikt voor het verbeteren van de prestaties van systemen die sterk afhankelijk zijn van back-endgegevensopslag.

Uw gegevens in de cache bevinden zich in het geheugen op een Azure-server met Redis Cache in plaats van dat ze vanaf schijf uit een database worden geladen. Uw cache is ook zeer schaalbaar. U kunt de grootte en de prijscategorie op elk gewenst moment wijzigen.

Welk type gegevens kunnen worden opgeslagen in de cache?

Redis ondersteunt verschillende gegevenstypen, allemaal gericht op binaire veilige tekenreeksen. U kunt elke binaire reeks voor een waarde gebruiken, van een tekenreeks zoals 'i-love-rocky-road' tot de inhoud van een afbeeldingsbestand. Een lege tekenreeks is ook een geldige waarde.

  • Binair veilige tekenreeksen (meest voorkomende)
  • Lijst met tekenreeksen
  • Niet-geordende sets met tekenreeksen
  • Hashes
  • Geordende sets met tekenreeksen
  • Toewijzingen van tekenreeksen

Elke gegevenswaarde is gekoppeld aan een sleutel die kan worden gebruikt om de waarde uit de cache op te zoeken. Redis werkt het beste met kleinere waarden (100 kB of minder), dus overweeg grotere gegevens op te knippen in meerdere sleutels. Het is mogelijk om hogere waarden op te slaan (maximaal 500 MB), maar hierdoor neemt de netwerklatentie toe en kan dit leiden tot cache- en geheugenproblemen als de cache niet is geconfigureerd om oude waarden te laten verlopen.

Wat is Redis-sleutel?

Redis-sleutels zijn ook binaire veilige tekenreeksen. Hier vindt u enkele richtlijnen voor het kiezen van sleutels:

  • Vermijd lange sleutels: ze nemen meer geheugen in beslag en vereisen langere opzoektijden omdat ze byte-byte moeten worden vergeleken. Als u een binaire blob als sleutel wilt gebruiken, genereert u een unieke hash en gebruikt u die als sleutel. De maximale grootte van een sleutel is 512 MB, maar u moet nooit zo'n grote sleutel gebruiken.
  • Gebruik sleutels waarmee de gegevens kunnen worden geïdentificeerd: dit is bijvoorbeeld sport:football;date:2008-02-02 een betere sleutel dan fb:8-2-2. De vroegere is beter leesbaar en de extra grootte is te verwaarlozen. Probeer een goed balans tussen de grootte en leesbaarheid te vinden.
  • Gebruik een conventie: Een goede conventie is object:ID, zoals in sport:football.

Hoe worden gegevens opgeslagen in Redis Cache?

Gegevens in Redis worden opgeslagen in knooppunten en clusters.

Knooppunten zijn ruimten in Redis waar uw gegevens worden opgeslagen.

Clusters zijn sets van drie of meer knooppunten waarop uw gegevensset wordt gesplitst. Clusters zijn handig omdat uw bewerkingen doorgaan als een knooppunt mislukt of niet kan communiceren met de rest van het cluster.

Wat zijn Redis-cachearchitecturen?

Een Redis-cachearchitectuur is een methode voor het distribueren van gegevens naar de cache. Met Redis kunnen gegevens op drie belangrijke manieren worden gedistribueerd:

  1. Eén knooppunt
  2. Meerdere knooppunten
  3. Geclusterd

Redis-cachearchitecturen zijn afhankelijk van de laag in Azure:

Basic-cache

Bij een Basic-cache beschikt u over een Redis Cache met één knooppunt. De volledige gegevensset wordt opgeslagen in één knooppunt. Deze laag is ideaal voor ontwikkel-, test- en niet-kritieke workloads.

Standard-cache

Bij een Standard-cache wordt een architectuur met meerdere knooppunten gemaakt. Hierbij wordt een cache gerepliceerd en geconfigureerd met twee knooppunten: een primair knooppunt en een secundair knooppunt. Azure beheert de replicatie tussen de twee knooppunten en maakt een cache die gereed is voor productie met primaire/secundaire replicatie.

Premium-laag

De Premium-laag bevat de functies van de standard-laag, maar voegt de mogelijkheid toe om gegevens te behouden, momentopnamen te maken en een back-up van gegevens te maken. Met deze laag kunt u een Redis-cluster maken dat gegevens deelt over meerdere Redis-knooppunten om het beschikbare geheugen te vergroten. De Premium-laag biedt ook ondersteuning voor een Azure Virtual Network zodat u volledige controle hebt over uw verbindingen, subnetten, IP-adressering en netwerkisolatie. Deze laag bevat ook geo-replicatie. Zo kunt u ervoor zorgen dat uw gegevens zich dicht bij de app bevinden waarvoor ze worden gebruikt.

Samenvatting

Een database is ideaal voor het opslaan van grote hoeveelheden gegevens, maar er is een inherente latentie bij het opzoeken van gegevens. U verzendt een query. De server interpreteert de query, zoekt de gegevens op en retourneert deze. Servers hebben ook capaciteitslimieten voor de verwerking van aanvragen. Als er te veel aanvragen worden gedaan, wordt het ophalen van gegevens waarschijnlijk vertraagd. In cache worden vaak aangevraagde gegevens opgeslagen in het geheugen die sneller kunnen worden geretourneerd dan het uitvoeren van query's op een database. Dit moet de latentie verlagen en de prestaties verbeteren. Azure Cache voor Redis biedt u toegang tot een beveiligde, toegewezen en schaalbare Redis-cache, gehost in Azure en beheerd door Microsoft.