Proljetna predmemorija čizama i kofeina

1. Pregled

Caffeine cache je cache knjižnica visokih performansi za Javu. U ovom kratkom vodiču vidjet ćemo kako ga koristiti s Spring Bootom.

2. Ovisnosti

Da bismo započeli s kofeinom i proljetnom čizmom, prvo dodamo predmemorija boot-starter-cache i kofein ovisnosti:

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

Oni uvoze osnovnu podršku za predmemoriranje proljeća, zajedno s bibliotekom kofeina.

3. Konfiguracija

Sada moramo konfigurirati predmemoriranje u našoj aplikaciji Spring Boot.

Prvo stvorimo a Kofein grah. Ovo je glavna konfiguracija koja će kontrolirati ponašanje predmemoriranja poput isteka, ograničenja veličine predmemorije i još mnogo toga:

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

Dalje, trebamo stvoriti još jedan grah koristeći Spring CacheManager sučelje. Kofein omogućuje njegovu implementaciju ovog sučelja, što zahtijeva Kofein objekt koji smo stvorili gore:

@Bean public CacheManager cacheManager (Caffeine caffeine) {CaffeineCacheManager caffeineCacheManager = novi CaffeineCacheManager (); caffeineCacheManager.setCaffeine (kofein); vratiti caffeineCacheManager; }

Napokon, moramo omogućiti predmemoriranje u Spring Boot-u pomoću @EnableCaching bilješka. Ovo se može dodati bilo kojem @Konfiguracija razred u aplikaciji.

4. Primjeri

Kad je predmemoriranje omogućeno i konfigurirano za upotrebu kofeina, pogledajmo nekoliko primjera kako možemo koristiti predmemoriranje u našoj aplikaciji Spring Boot.

Primarni način korištenja predmemoriranja u Spring Boot-u je pomoću @Cacheable bilješka. Ova napomena radi na bilo kojoj metodi proljetnog graha (ili čak na cijeloj klasi). Upućuje registriranog upravitelja predmemorije da pohrani rezultat poziva metode u predmemoriju.

Tipična upotreba je unutar servisnih klasa:

@Service javna klasa AddressService {@Cacheable public AddressDTO getAddress (long customerId) {// traženje i povratak rezultata}}

Koristiti @Cacheable napomena bez parametara prisilit će Spring da koristi zadana imena i za predmemoriju i za ključ predmemorije.

Oba ova ponašanja možemo nadjačati dodavanjem nekih parametara u napomenu:

@Service javna klasa AddressService {@Cacheable (value = "address_cache", key = "customerId") public AddressDTO getAddress (long customerId) {// traženje i povratak rezultata}}

Gornji primjer govori Springu da koristi predmemoriju s imenom predmemorija_ adresa i id kupca argument za ključ predmemorije.

Konačno, budući da je upravitelj predmemorije i sam proljetni grah, također ga možemo automatski povezati u bilo koji drugi grah i izravno raditi s njim:

@Service javna klasa AddressService {@Autowired CacheManager cacheManager; javna AddressDTO getAddress (long customerId) {if (cacheManager.containsKey (customerId)) {return cacheManager.get (customerId); } // adresa pretraživanja, rezultat predmemorije i vrati je}}

5. Zaključak

U ovom uputstvu vidjeli smo kako konfigurirati Spring Boot za upotrebu predmemorije kofeina, zajedno s nekoliko primjera kako koristiti predmemoriranje u našoj aplikaciji.

I naravno, svi primjeri koda nalaze se na GitHubu.


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