Aiheuttaako hidas, toistuva tiedonhaku sovelluksesi tehokkuutta? Yritä ratkaista ongelma välimuistilla.

Nopeiden ja luotettavien verkkosovellusten rakentaminen on tärkeämpää kuin koskaan nykypäivän digitaalisessa ympäristössä. Käyttäjillä on korkeat odotukset verkkosivuston toimivuudesta. Hitaat latausajat tai seisokit voivat johtaa asiakkaiden turhautumiseen ja mainevaurioihin.

Yksi tapa saada nopeita ja luotettavia verkkosovelluksia on välimuistin käyttö. On olemassa erilaisia ​​välimuistityyppejä, joita voit ottaa käyttöön sovelluksessasi, mukaan lukien muistin sisäinen välimuisti, selaimen välimuisti, tietokantavälimuisti ja CDN-välimuisti.

Mitä välimuisti on, ja miten muistin sisäinen välimuisti eroaa? Kuinka voit parantaa Nest.js-sovelluksesi suorituskykyä muistissa olevan välimuistin avulla?

Mitä välimuisti on?

Välimuisti on prosessi, jossa usein käytettyjä tietoja tallennetaan väliaikaiseen sijaintiin sovelluksen tai järjestelmän suorituskyvyn parantamiseksi. Välimuistissa olevat tiedot voidaan nopeasti hakea ja toimittaa käyttäjälle ilman, että niitä tarvitsee hakea uudelleen alkuperäisestä lähteestä.

Sovellukset käyttävät välimuistia toimittaakseen sisältöä nopeammin ja tehokkaammin, mikä parantaa käyttökokemusta ja vähentää taustalla olevien järjestelmien kuormitusta. Yleisimpiä välimuistityyppejä ovat välimuisti, CDN-välimuisti, selaimen välimuisti ja tietokannan välimuisti.

Mitä on In-Memory Caching?

Muistissa välimuisti on välimuistin tyyppi, jossa sovellus tallentaa väliaikaisesti usein käytettyjä tietoja palvelimen muistiin. Sen sijaan, että sovellus tekisi kalliita tietokantakutsuja joka kerta, kun sovellus käsittelee tietojen käyttöpyynnön, se voi hakea tiedot muistista.

Tietojen tallentaminen välimuistiin tarkoittaa, että sovellus käyttää tietoja nopeammin, ja tämä parantaa suorituskykyä.

Kuinka ottaa käyttöön In-Memory Caching Nest.js-sovelluksessa

Nest.js: ssä on sisäänrakennettu tuki välimuistiin tallentamiseen käyttämällä ohjaimia, kuten Redis, Memcached ja monia muita. Ymmärtämisen helpottamiseksi tässä artikkelissa käytetään kuitenkin Nest.js: n sisäistä välimuistimoduulia.

Tässä osiossa oletetaan, että sinulla on jo Nest CLI -komennolla luotu Nest.js-sovellus: pesä uusi [sovelluksen nimi]. Jos haluat ottaa muistin sisäisen välimuistin päätepisteeseen, sinulla tulee olla moduuli-, palvelu- ja ohjaintiedostot jo valmiiksi tai luo ne käyttämällä pesäTuottaa komento. Saat lisätietoja aiheesta pesä tuottaa in Nest CLI -dokumentaatio.

Ensimmäinen askel muistin sisäisen välimuistin käyttöönottamiseksi on tuoda CacheModule alkaen @nestjs/common päätepisteen moduuliin alla olevan kuvan mukaisesti:

// esimerkki.moduuli.ts
tuonti { Moduuli, välimuistimoduuli } alkaen"@nestjs/common";

@Moduuli({
tuonti: [CacheModule.register()],
})

viedäluokkaa Esimerkkimoduuli {}

Seuraavaksi sinun on tuotava CacheService ja lisää se Nest.js-palveluun, joka on yhteydessä a tietokanta, kuten MongoDB. Voit nähdä, kuinka seuraava koodiesimerkki tekee tämän:

// esimerkki.palvelu.ts
tuonti { Injektoitava, välimuistipalvelu } alkaen"@nestjs/common";

@Injektoitava()
viedäluokkaa Esimerkkipalvelu {
rakentaja(yksityinen vain luku -välimuistipalvelu: CacheService) {}

asynk getData(): Lupaus<minkä tahansa> {
konst cacheKey = 'my_data';
antaa data = odottaaTämä.cacheService.get (cacheKey);

jos (!data) {
// noutaa tiedot tietokannasta tai API: sta
data = odottaaTämä.fetchData();

// välimuisti tiedot tulevaa käyttöä varten
odottaaTämä.cacheService.set (cacheKey, data, { ttl: 60 });
}

palata tiedot;
}

yksityinenasynk fetchData(): Lupaus<minkä tahansa> {
// noutaa tiedot tietokannasta
}
}

Yllä olevassa esimerkkikoodissa Esimerkkipalvelu käyttää CacheService riippuvuutena. The getData menetelmä tarkistaa, ovatko tiedot saatavilla välimuistissa avaimella (cacheKey), jos tiedot eivät ole välimuistissa, se hakee ne tietokannasta ja tallentaa ne välimuistiin myöhempää käyttöä varten.

The CacheService on a aseta menetelmä, joka ottaa objektin argumenttina. Tässä tapauksessa voit nähdä, kuinka arvo { ttl: 60 } asettaa elinajan 60 sekuntiin. Tämä tarkoittaa, että palvelu poistaa automaattisesti välimuistissa olevat tiedot minuutin kuluttua.

Jotkut muistin sisäisen välimuistin tärkeistä eduista ovat seuraavat:

  • Parannettu skaalautuvuus: Muistissa oleva välimuisti voi auttaa parantamaan sovellusten skaalautuvuutta vähentämällä taustalla olevan tietolähteen kuormitusta.
  • Nopeampi vasteaika: Usein käytettyjen tietojen tallentaminen välimuistiin lyhentää tietojen hakemiseen kuluvaa aikaa, mikä nopeuttaa vasteaikoja.
  • Parempi käyttökokemus: Nopeammat vasteajat ja parannettu skaalautuvuus voivat auttaa tarjoamaan paremman käyttökokemuksen vähentämällä odotusaikaa ja parantamalla sovelluksen yleistä suorituskykyä.
  • Alennetut kulut: Vähentämällä tietolähteen kuormitusta, muistin sisäinen välimuisti voi auttaa vähentämään sovelluksen käyttökustannuksia.

Nest.js-sovellusten optimointi sisäisen välimuistin avulla

Muistissa välimuisti on erittäin tehokas tapa parantaa sovelluksen yleistä suorituskykyä. Olet nähnyt, kuinka Nest.js: ssä otetaan käyttöön muistissa oleva välimuisti ja kuinka se parantaa skaalautuvuutta ja käyttökokemusta. Se voi myös pidentää vasteaikaa ja vähentää sovelluksesi käyttökustannuksia.

Kokeile käyttää välimuistin konseptia käytännössä, kun rakennat seuraavaa Nest.js-sovellusliittymääsi tai sovellustasi.