HTTP-sessiegegevens opslaan met Spring Session

Voltooid

In deze les leert u hoe u Azure Cache voor Redis gebruikt om HTTP-sessiegegevens op te slaan via Spring Session.

HTTP-sessies

In HTTP-sessies worden gebruikersgegevens, meestal beveiligingsgegevens, tussen aanvragen opgeslagen. HTTP-sessies kunnen ook de toepassingsstatus opslaan of vaak gebruikte gebruikersgegevens in de cache opslaan. Omdat HTTP-sessies op de server worden opgeslagen, kunnen ze een schaalbaarheidsprobleem opleveren. U moet de sessies repliceren wanneer uw toepassing wordt uitgeschaald naar meer knooppunten.

HTTP-sessies zijn sinds de vroege dagen van servlets beschikbaar in Java en technologieën zoals JavaServer Faces (JSF) gebruiken ze sterk. Het schalen van HTTP-sessies is altijd een probleem geweest en sessiereplicatiemechanismen bestaan op alle belangrijke Java-toepassingsservers.

Een probleem is dat http-sessiereplicatiemechanismen niet zijn gestandaardiseerde, maar afhankelijk zijn van API's die specifiek zijn voor elke toepassingsserver. Deze installatie kan problemen met de draagbaarheid veroorzaken.

Spring-sessie

Spring Session is een Spring-subproject dat een algemene oplossing biedt voor het configureren van HTTP-sessiereplicatie. Spring Session ondersteunt Redis als een van de verschillende back-endopties. Spring Session repliceert alle sessiegegevens in Redis, dus wanneer de toepassing wordt uitgeschaald, heeft elk knooppunt toegang tot de gebruikerssessies.

De configuratie van de Spring-sessie is vergelijkbaar met de vorige Spring Data-configuratie en illustreert een ander aanbevolen Redis-gebruiksscenario.

Spring-sessie gebruiken met Redis

Een deel van de configuratie is hetzelfde als voor Spring Data Redis en u hoeft dit slechts één keer te doen voor beide oplossingen. Net als in de Spring Data-configuratie gebruikt u doorgaans Spring Initializr en voert u de volgende hoofdtaken uit:

  1. Voeg de Spring Session Redis-bibliotheek toe aan uw toepassing.
  2. Configureer het bestand application.yml om verbinding te maken met uw Azure Cache voor Redis-exemplaar.
  3. Gebruik het HTTP-sessiemechanisme van Java om gegevens op te slaan en op te halen.

Ga verder met de volgende les om deze configuratie te implementeren.