Spring Boot a Caffeine Cache

1. Prehľad

Kofeínová vyrovnávacia pamäť je vysoko výkonná knižnica vyrovnávacej pamäte pre jazyk Java. V tomto krátkom tutoriáli sa dozvieme, ako ho používať s programom Spring Boot.

2. Závislosti

Ak chcete začať s kofeínom a Spring Boot, najskôr pridáme spring-boot-starter-cache a kofeín závislosti:

  org.springframework.boot spring-boot-starter-cache com.github.ben-manes.caffeine kofeín 

Tieto importujú základnú podporu Spring caching spolu s knižnicou kofeínu.

3. Konfigurácia

Teraz musíme nakonfigurovať ukladanie do pamäte cache v našej aplikácii Spring Boot.

Najskôr vytvoríme a Kofeín fazuľa. Toto je hlavná konfigurácia, ktorá bude riadiť chovanie cache, ako napríklad expirácia, limity veľkosti cache a ďalšie:

@Bean public Caffeine kofeínConfig () {návrat Caffeine.newBuilder (). ExpireAfterWrite (60, TimeUnit.MINUTES); }

Ďalej musíme pomocou Springu vytvoriť ďalšiu fazuľu CacheManager rozhranie. Kofeín poskytuje svoju implementáciu tohto rozhrania, ktoré si vyžaduje Kofeín objekt, ktorý sme vytvorili vyššie:

@Bean public CacheManager cacheManager (kofeín kofeín) {CaffeineCacheManager kofeínCacheManager = nový CaffeineCacheManager (); caffeineCacheManager.setCaffeine (kofeín); vrátiť kofeínCacheManager; }

Nakoniec musíme povoliť ukladanie do medzipamäte v Spring Boot pomocou @EnableCaching anotácia. Toto je možné pridať k ľubovoľnému @ Konfigurácia triedy v prihláške.

4. Príklady

Keď je ukladanie do pamäte povolené a nakonfigurované na používanie kofeínu, pozrime sa na niekoľko príkladov toho, ako môžeme použiť ukladanie do pamäte cache v našej aplikácii Spring Boot.

Primárny spôsob použitia medzipamäte v Spring Boot je pomocou @Cacheeable anotácia. Táto anotácia funguje na akejkoľvek metóde jarného zrna (alebo dokonca celej triedy). Dáva pokyn registrovanému správcovi medzipamäte, aby uložil výsledok volania metódy do medzipamäte.

Typické použitie je vo vnútri servisných tried:

@ Verejná trieda ServiceService {@Cacheable public AddressDTO getAddress (long customerId) {// výsledok vyhľadávania a vrátenia}}

Pomocou @Cacheeable anotácia bez parametrov prinúti Spring použiť predvolené názvy pre cache aj pre kľúč cache.

Obidve tieto správania môžeme prepísať pridaním niektorých parametrov do anotácie:

@ Verejná trieda služieb AddressService {@Cacheable (value = "address_cache", key = "customerId") public AddressDTO getAddress (long customerId) {// výsledok vyhľadávania a vrátenia}}

Vyššie uvedený príklad hovorí Springovi, aby použil vyrovnávaciu pamäť s názvom address_cache a customerId argument pre kľúč cache.

Nakoniec, pretože správca vyrovnávacej pamäte je sám o sebe jarnou fazuľou, môžeme ho tiež autowire do akejkoľvek inej fazule a priamo s ním pracovať:

@ Verejná trieda ServiceService {@Autowired CacheManager cacheManager; public AddressDTO getAddress (long customerId) {if (cacheManager.containsKey (customerId)) {return cacheManager.get (customerId); } // vyhľadávacia adresa, výsledok pamäte cache a vrátiť ju}}

5. Záver

V tomto tutoriáli sme videli, ako nakonfigurovať Spring Boot na používanie kofeínovej medzipamäte, spolu s niekoľkými príkladmi toho, ako používať medzipamäť v našej aplikácii.

Všetky príklady kódov sú samozrejme umiestnené na GitHub.


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