Springin Cache-abstraktio
Tallentakaa metodien tuloksia välimuistiin annotaatioilla.
Springin Cache-abstraktio on ilmainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.
Miksi välimuistia käytetään
Välimuisti tallentaa kalliiden toimintojen tulokset, jotta toistuvat kutsut palauttavat tuloksen heti muistista sen sijaan, että tulos laskettaisiin tai kysely suoritettaisiin uudelleen.
- Pienempi viive
- Vähemmän kuormitusta tietokannalle
- Parempi suorituskyky
Välimuistiabstraktio
Spring tarjoaa välimuistiabstraktion – yhtenäisen rajapinnan monille taustajärjestelmille (muisti, Redis, Caffeine). Merkitsette metodit annotaatioilla, ja Spring huolehtii tallennuksesta.
Välimuistien käyttöönotto
Lisätkää @EnableCaching konfiguraatioluokkaan ottaaksenne annotaatioiden käsittelyn käyttöön.
@Configuration
@EnableCaching
public class CacheConfig {
}CacheManager
CacheManager hallinnoi nimettyjä välimuisteja. Spring Boot määrittää sellaisen automaattisesti luokkapolun sisällön perusteella.
@Autowired
CacheManager cacheManager;
Cache productCache = cacheManager.getCache("products");Oletusarvoinen muistipohjainen välimuisti
Jos luokkapolulla ei ole välimuistikirjastoa, Spring Boot käyttää yksinkertaista kartan varaan rakennettua ConcurrentMapCacheManager-toteutusta.
Nimetyt välimuistit
Kukin välimuistia käyttävä metodi kohdistuu nimettyyn välimuistiin. Nimien avulla välimuisteja voi säätää ja tyhjentää toisistaan riippumatta.
@Cacheable("products")
public Product findById(Long id) {
return repository.findById(id).orElseThrow();
}Miten välimuistiosuma toimii
Kutsun yhteydessä Spring muodostaa avaimen ja tarkistaa välimuistin: jos arvo löytyy (kyseessä on osuma), tallennettu arvo palautetaan ja metodin runko ohitetaan. Jos arvoa ei löydy (huti), metodi suoritetaan ja tulos tallennetaan.
Välimuistiavaimet
Oletusarvoisesti avain johdetaan metodin argumenteista. Voitte korvata sen SpEL-lausekkeella.
@Cacheable(value = "products", key = "#id")
public Product findById(Long id) { ... }Palveluntarjoajan valinta
Lisätkää kirjasto, jos haluatte vaihtaa taustajärjestelmää automaattisesti: Caffeine nopeaan paikalliseen välimuistiin ja Redis jaettuun hajautettuun välimuistiin.
// build.gradle for Caffeine
implementation "com.github.ben-manes.caffeine:caffeine"Caffeninen määrittäminen
Caffeine tukee kokorajoituksia ja vanhenemista ominaisuuksien avulla.
# application.properties
spring.cache.cache-names=products
spring.cache.caffeine.spec=maximumSize=500,expireAfterWrite=600sMilloin välimuistia ei pidä käyttää
Välimuisti sopii paljon luettavalle, hitaasti muuttuvalle datalle. Välttäkää sitä nopeasti muuttuville arvoille tai tilanteissa, joissa vanhentuneita lukemia ei hyväksytä ilman asianmukaista poistoa.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte välimuistiabstraktion.
Kertaus
Opitte välimuistiabstraktion:
@EnableCachingottaa ominaisuuden käyttöönCacheManagerhallinnoi nimettyjä välimuisteja- Oletusarvoinen taustajärjestelmä on muistissa oleva ConcurrentMap
- Vaihda Caffeineen tai Redisiin lisäämällä vastaava kirjasto
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 24
- Oppitunnit
- 93
Usein kysytyt kysymykset
Onko oppitunti ”Springin Cache-abstraktio” ilmainen?
Kyllä – oppitunnin ”Springin Cache-abstraktio” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssin, päivitä CoddyKit PROhon. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Springin Cache-abstraktio”?
Tallentakaa metodien tuloksia välimuistiin annotaatioilla. Harjoittelet Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Springin Cache-abstraktio”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunnilla?
Kyllä. Jokainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Springin Cache-abstraktio
- @Cacheable, @CachePut, @CacheEvict
- Redis välimuistipalveluna
- Välimuistin TTL ja mitätöinti