Spring Boot og koffein cache

1. Oversikt

Koffeincache er et høyt ytende hurtigbibliotek for Java. I denne korte opplæringen vil vi se hvordan du bruker den med Spring Boot.

2. Avhengigheter

For å komme i gang med koffein og vårstøvel legger vi først til spring-boot-starter-cache og koffein avhengigheter:

  org.springframework.boot spring-boot-starter-cache com.github.ben-manes.caffeine koffein 

Disse importerer basestøtten for vårbufring, sammen med koffeinbiblioteket.

3. Konfigurasjon

Nå må vi konfigurere caching i vår Spring Boot-applikasjon.

Først lager vi en Koffein bønne. Dette er hovedkonfigurasjonen som vil kontrollere cache-oppførsel, for eksempel utløp, bufferstørrelsesgrenser og mer:

@Bean public Caffeine caffeineConfig () {return Caffeine.newBuilder (). ExpireAfterWrite (60, TimeUnit.MINUTES); }

Deretter må vi lage en ny bønne ved hjelp av våren CacheManager grensesnitt. Koffein gir implementeringen av dette grensesnittet, som krever Koffein objektet vi opprettet ovenfor:

@Bean public CacheManager cacheManager (Caffeine caffeine) {CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager (); caffeineCacheManager.setCaffeine (koffein); returner koffeinCacheManager; }

Til slutt må vi aktivere caching i Spring Boot ved hjelp av @EnableCaching kommentar. Dette kan legges til hvilken som helst @Konfigurasjon klasse i søknaden.

4. Eksempler

Med caching aktivert og konfigurert til å bruke koffein, la oss se på noen få eksempler på hvordan vi kan bruke caching i vår Spring Boot-applikasjon.

Den primære måten å bruke cache i Spring Boot er med @Cacheable kommentar. Denne kommentaren fungerer på en hvilken som helst metode for en vårbønne (eller til og med hele klassen). Den instruerer den registrerte hurtigbehandleren om å lagre resultatet av metodeanropet i en hurtigbuffer.

En typisk bruk er innenfor serviceklasser:

@Service public class AddressService {@Cacheable public AddressDTO getAddress (long customerId) {// oppslag og returresultat}}

Bruker @Cacheable kommentar uten parametere vil tvinge Spring til å bruke standardnavn for både hurtigbuffer og hurtigbuffernøkkel.

Vi kan overstyre begge disse atferdene ved å legge til noen parametere i kommentaren:

@Service public class AddressService {@Cacheable (value = "address_cache", key = "customerId") public AddressDTO getAddress (long customerId) {// lookup and return result}}

Eksemplet ovenfor forteller Spring å bruke en hurtigbuffer som heter adresse_buffer og Kunde ID argument for hurtignøkkelen.

Til slutt, fordi cache-manager selv er en vårbønne, vi kan også koble den til en hvilken som helst annen bønne og jobbe med den direkte:

@Service offentlig klasse AddressService {@Autowired CacheManager cacheManager; public AddressDTO getAddress (long customerId) {if (cacheManager.containsKey (customerId)) {return cacheManager.get (customerId); } // oppslagsadresse, cache-resultat, og returnere det}}

5. Konklusjon

I denne veiledningen har vi sett hvordan du konfigurerer Spring Boot til å bruke koffeinbuffer, sammen med noen eksempler på hvordan du bruker caching i applikasjonen vår.

Og selvfølgelig ligger alle kodeeksemplene på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found