Een app voor Spring Boot maken en configureren voor het gebruik van Azure Cache voor Redis

Voltooid

Terwijl uw Azure Cache voor Redis wordt gemaakt, gaan we kijken wat Redis is en wat de aanbevolen use cases zijn.

Wat is Redis?

Redis is een opensource-gegevensopslag (met BSD-licentie). Het is een gedistribueerde, in-memory sleutel-waardedatabase die u kunt gebruiken als cache en als berichtenbroker. Het heeft optionele duurzaamheid.

Redis wordt vaak geclassificeerd als de populairste sleutel-waardedatabase. Dankzij het gebruiksgemak, de prestaties en schaalbaarheid is het een uitstekende keuze voor veel toepassingsontwikkelaars.

Wat is Azure Cache voor Redis?

Azure Cache voor Redis is een beheerde versie van Redis die wordt onderhouden en beheerd door Azure.

Azure Cache voor Redis biedt alle voordelen of Redis: uitstekende doorvoer en prestaties voor het verwerken van miljoenen aanvragen per seconde. Omdat Azure dit beheert, profiteert u van alle voordelen van een cloudservice, zoals automatische patches, updates, schalen en inrichten.

Er zijn verschillende lagen beschikbaar. De meest geavanceerde kunnen clustering, replicatie en hoge beschikbaarheid bieden. U kunt vertrouwen op deze geavanceerde lagen voor kritieke workloads.

Azure Cache voor Redis heeft de volgende hoofdgebruiksgevallen:

  • Als gedistribueerde cache worden toepassingen die afhankelijk zijn van een SQL database. Het kan ook de kosten van een toepassing verlagen, omdat het schalen van een Redis-cluster goedkoper is dan het schalen van een database.
  • Als gegevensopslag voor EEN HTTP-sessie maakt het schalen van sessietoepassingen mogelijk. Dit mechanisme is doorgaans nuttig voor toepassingen die gebruikmaken van JSF (JavaServer Faces) of toepassingen die beveiligingsgegevens opslaan in de sessie van de gebruiker.
  • Als berichtenbroker is Azure Cache voor Redis een oplossing voor het implementeren van architecturen voor publiceren/abonneren of wachtrijen.

Redis gebruiken in Java en met Spring Boot

Voor Java-ontwikkelaars biedt Redis geen officiële bibliotheek. Ontwikkelaars van verschillende organisaties hebben in feite verschillende opensource-bibliotheken gemaakt. Keuze is goed en een van uw belangrijkste beslissingen is om de optie te selecteren die het beste bij uw behoeften past.

Dit zijn de drie populairste:

  • Jedis is de meest gebruikte bibliotheek en is eenvoudig en eenvoudig te gebruiken.
  • Sla is de bibliotheek die we in deze module gaan gebruiken, omdat deze is gebundeld met Spring Data voor Redis. Het biedt uitstekende asynchrone ondersteuning, wat belangrijk is als u een reactieve Spring-toepassing wilt maken.
  • Redisson is de meest geavanceerde Redis-client. U kunt deze ook gebruiken als een cache op het tweede niveau van de sluimerstand als u die functie nodig hebt.

Een gedistribueerde cache maken en configureren met Spring Data Redis

Laten we ons richten op de eerste aanbevolen use-case die we eerder hebben vermeld: het maken van een gedistribueerde cache met behulp van Redis.

Als Spring Boot, meestal met Spring Initializr,hebt u drie hoofdtaken om te bereiken:

  • Voeg de Spring Data Redis-bibliotheek toe aan uw toepassing.
  • Configureer uw application.yml bestand om verbinding te maken met uw Azure Cache voor Redis-exemplaar.
  • Codeer bedrijfslogica door Spring Data Redis te gebruiken om gegevens op te slaan en op te halen uit de cache.

Voor deze installatie wordt de bibliotheek Sla onder gebruikt. U hoeft deze bibliotheek echter niet rechtstreeks te gebruiken, tenzij u een geavanceerde configuratie nodig hebt. Spring Data verwerkt alle code voor gegevenstoegang met behulp van een mechanisme waarmee de meeste Spring-ontwikkelaars bekend moeten zijn. Spring Data wordt ook gebruikt voor toegang tot SQL-databases (met behulp van JPA) en NoSQL-databases (zoals MongoDB).

Voor Spring Data moet u twee klassen maken:

  • Een Java-bean die uw gegevens zal bevatten. U moet er aantekeningen aan toevoegen met de @RedisHash Java-aantekening. Deze aantekening wordt gebruikt voor het opslaan en ophalen van gegevens in Redis via een specifieke sleutel.
  • Een Spring-opslagplaats. Deze opslagplaats is een specifieke Java-klasse die databasebewerkingen kan uitvoeren (maken, ophalen, bijwerken, verwijderen) in de Java-bean waarin de gegevens worden opgeslagen. Het kan bijvoorbeeld één exemplaar van de bean opslaan of een lijst met beans ophalen.

Vervolgens kunt u deze Spring-opslagplaats in elke standaard Spring-bean injecteren. U kunt deze bijvoorbeeld in een Spring MVC REST-controller injecteren, die wordt gebruikt om die gegevens op te slaan en te openen. Dit gaan we in de volgende eenheid doen.