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ó.