Tavaszi csomagtartó és koffein gyorsítótár

1. Áttekintés

A Caffeine cache egy nagy teljesítményű cache könyvtár a Java számára. Ebben a rövid bemutatóban megtudhatjuk, hogyan kell használni a Spring Boot alkalmazással.

2. Függőségek

A koffein és a tavaszi csomagtartó használatának megkezdéséhez először hozzáadjuk a spring-boot-starter-cache és koffein függőségek:

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

Ezek importálják az alap tavaszi gyorsítótár-támogatást, valamint a koffein könyvtárat.

3. Konfiguráció

Most konfigurálnunk kell a gyorsítótárat a Spring Boot alkalmazásban.

Először létrehozunk egy Koffein bab. Ez a fő konfiguráció, amely vezérli a gyorsítótár-viselkedést, például a lejáratot, a gyorsítótár méretének korlátozását és még sok mást:

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

Ezután létre kell hoznunk egy másik babot a Spring segítségével CacheManager felület. A koffein biztosítja ennek az interfésznek a megvalósítását, amelyhez a Koffein a fent létrehozott objektum:

@Bean public CacheManager cacheManager (koffein-koffein) {CaffeineCacheManager caffeineCacheManager = új CaffeineCacheManager (); caffeineCacheManager.setCaffeine (koffein); return caffeineCacheManager; }

Végül engedélyeznünk kell a gyorsítótárat a Spring Boot alkalmazásban a @EnableCaching annotáció. Ez hozzáadható bármelyikhez @ Konfiguráció osztály az alkalmazásban.

4. Példák

Ha a gyorsítótárazás engedélyezve van és konfigurálva van a koffein használatára, nézzünk meg néhány példát arra, hogyan használhatjuk a gyorsítótárat a Spring Boot alkalmazásban.

A gyorsítótár használatának elsődleges módja a Spring Boot alkalmazásban a @Cache annotáció. Ez a megjegyzés a tavaszi bab bármely módszerén (vagy akár az egész osztályon) működik. Utasítja a regisztrált gyorsítótár-kezelőt, hogy tárolja a metódus-hívás eredményét egy gyorsítótárban.

Jellemző használat a szolgáltatási osztályokon belül:

@Service public class AddressService {@Cacheable public AddressDTO getAddress (long customerId) {// keresési és visszatérési eredmény}}

Használni a @Cache A paraméterek nélküli megjegyzés arra kényszeríti Springet, hogy az alapértelmezett neveket használja mind a gyorsítótár, mind a gyorsítótár kulcs számára.

Mindkét viselkedésmódot felülírhatjuk, ha néhány paramétert hozzáadunk az annotációhoz:

@Service public class AddressService {@Cacheable (value = "address_cache", key = "customerId") public AddressDTO getAddress (long customerId) {// keresési és visszatérési eredmény}}

A fenti példa azt mondja Springnek, hogy használjon egy megnevezett gyorsítótárat address_cache és a Ügyfél-azonosító a cache kulcs argumentuma.

Végül, mivel a gyorsítótár-kezelő maga egy tavaszi bab, bármely más babba be is írhatjuk, és közvetlenül együtt dolgozhatunk vele:

@Service public class AddressService {@Autowired CacheManager cacheManager; public AddressDTO getAddress (long customerId) {if (cacheManager.containsKey (customerId)) {return cacheManager.get (customerId); } // keresési cím, gyorsítótár eredménye, és adja vissza}}

5. Következtetés

Ebben az oktatóanyagban láthattuk, hogyan kell beállítani a Spring Boot alkalmazást a koffein gyorsítótár használatára, valamint néhány példát a gyorsítótár használatára az alkalmazásunkban.

És természetesen az összes kódpélda a GitHubon található.