Spring Boot og koffein cache

1. Oversigt

Koffein-cache er et højtydende cache-bibliotek til Java. I denne korte vejledning ser vi, hvordan du bruger det med Spring Boot.

2. Afhængigheder

For at komme i gang med koffein og Spring Boot, tilføjer vi først spring-boot-starter-cache og koffein afhængigheder:

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

Disse importerer basisfjedercachestøtten sammen med koffeinbiblioteket.

3. Konfiguration

Nu skal vi konfigurere caching i vores Spring Boot-applikation.

Først opretter vi en Koffein bønne. Dette er den vigtigste konfiguration, der styrer cache-opførsel, såsom udløb, cache-størrelsesgrænser og mere:

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

Dernæst er vi nødt til at oprette en anden bønne ved hjælp af foråret CacheManager interface. Koffein giver sin implementering af denne grænseflade, som kræver Koffein objekt, vi oprettede ovenfor:

@Bean offentlig CacheManager cacheManager (koffein koffein) {CaffeineCacheManager caffeineCacheManager = ny CaffeineCacheManager (); caffeineCacheManager.setCaffeine (koffein); returnere koffeinCacheManager; }

Endelig skal vi aktivere caching i Spring Boot ved hjælp af @EnableCaching kommentar. Dette kan tilføjes til enhver @Konfiguration klasse i applikationen.

4. Eksempler

Med caching aktiveret og konfigureret til at bruge koffein, lad os se på et par eksempler på, hvordan vi kan bruge caching i vores Spring Boot-applikation.

Den primære måde at bruge cache i Spring Boot på er @Cacheable kommentar. Denne kommentar fungerer på en hvilken som helst metode til en springbønne (eller endda hele klassen). Det instruerer den registrerede cache-manager om at gemme resultatet af metodeopkaldet i en cache.

En typisk anvendelse er inden for serviceklasser:

@Service public class AddressService {@Cacheable public AddressDTO getAddress (long customerId) {// lookup and return result}}

Bruger @Cacheable annotering uden parametre vil tvinge Spring til at bruge standardnavne til både cache- og cache-nøglen.

Vi kan tilsidesætte begge disse adfærd ved at tilføje nogle parametre til kommentaren:

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

Eksemplet ovenfor fortæller Spring at bruge en cache med navnet adresse_cache og Kunde ID argument for cache-nøglen.

Endelig, fordi cache-manager i sig selv er en Spring bean, vi kan også tråde den ind i enhver anden bønne og arbejde med den direkte:

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

5. Konklusion

I denne vejledning har vi set, hvordan vi konfigurerer Spring Boot til at bruge koffein-cache sammen med nogle eksempler på, hvordan man bruger cache i vores applikation.

Og selvfølgelig findes alle kodeeksemplerne på GitHub.


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