Beslissen of u Azure Cache voor Redis wilt gebruiken

Voltooid

Uw sportwebsite is gekoppeld aan een database. Deze retourneert gegevens 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. U kunt de prestaties van uw website doeltreffend en voordelig verbeteren door gegevens in de cache op te slaan.

Wat is opslaan in de cache?

Opslaan in de cache is het opslaan van vaak gebruikte gegevens in geheugen dat zich heel dicht bevindt bij de toepassing waarvoor die gegevens worden gebruikt. Opslaan in de cache wordt gebruikt 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 (RE mote DI ctionary S erver) 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 is ook gebruiksvriendelijk voor ontwikkelaars omdat het ondersteuning biedt voor meerdere programmeertalen, waaronder 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. Via Microsoft Azure Redis Cache hebt u toegang tot een beveiligde, toegewezen Redis-cache, 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 biedt ondersteuning voor een aantal verschillende gegevenstypen die allemaal zijn gericht op binaire veilige tekenreeksen. Dit betekent dat u elke binaire reeks als waarde kunt gebruiken, van 'i-love-rocky-road' tot en met 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 voor het opzoeken van de waarde uit de cache. Redis werkt het best met kleinere waarden (100.000 of minder). Overweeg dus om grotere gegevens op te delen 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 vergen meer geheugen en vereisen langere opzoektijden omdat ze zich hoeven te worden byte voor byte 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 u de gegevens kunt identificeren. Zo is 'sport:voetbal;datum:2008-02-02' bijvoorbeeld een betere sleutel dan 'vb:8-2-2'. De eerste is beter leesbaar en de extra grootte valt 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: voetbal'.

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 waarover uw gegevensset wordt verdeeld. Clusters zijn nuttig omdat uw bewerkingen gewoon worden voortgezet als een knooppunt uitvalt of er geen communicatie mogelijk is 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 op een enkel knooppunt. Dit is een ideale laag voor ontwikkel- en testdoeleinden en niet-essentiële werkbelastingen.

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. De replicatie tussen de twee knooppunten wordt beheerd in Azure. Deze cache met replicatie via primair/secundair apparaat is geschikt voor een productieomgeving.

Premium-laag

De Premium-laag omvat dezelfde functies als de Standard-laag, maar biedt tevens mogelijkheden voor het persistent maken van gegevens, het maken van momentopnamen en het maken van back-ups van gegevens. Bij deze laag kunt u een Redis-cluster met meerdere shards maken om de gegevens te verdelen over meerdere Redis-knooppunten en de beschikbare hoeveelheid 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 handig voor het opslaan van grote hoeveelheden gegevens, maar er is een intrinsieke 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 zijn, gaat het ophalen van gegevens waarschijnlijk langzamer. Door vaak opgevraagde gegevens in cachegeheugen op te slaan, kunnen deze gegevens sneller worden opgehaald dan met het uitvoeren van query's op een database. Dit zou moeten resulteren in een lagere latentie en betere prestaties. Azure Cache voor Redis biedt u toegang tot een beveiligde, toegewezen en schaalbare Redis-cache, die wordt gehost in Azure en beheerd door Microsoft.