Ali počasno, ponavljajoče se pridobivanje podatkov povzroča slabo delovanje vaše aplikacije? Poskusite predpomniti, da rešite težavo.
Gradnja hitrih in zanesljivih spletnih aplikacij je v današnjem digitalnem okolju pomembnejša kot kdaj koli prej. Uporabniki imajo visoka pričakovanja, ko gre za delovanje spletne strani. Počasni časi nalaganja ali izpadi lahko povzročijo razočaranje strank in škodo ugledu.
Eden od načinov za doseganje hitrih in zanesljivih spletnih aplikacij je uporaba predpomnjenja. Obstajajo različne vrste predpomnilnikov, ki jih lahko implementirate v svojo aplikacijo, vključno s predpomnilnikom v pomnilniku, predpomnilnikom brskalnika, predpomnilnikom baze podatkov in predpomnilnikom CDN.
Kaj je predpomnjenje in kako se predpomnjenje v pomnilniku razlikuje? Kako lahko povečate zmogljivost svoje aplikacije Nest.js s predpomnjenjem v pomnilniku?
Kaj je predpomnjenje?
Predpomnjenje je postopek shranjevanja podatkov, do katerih pogosto dostopate, na začasno lokacijo za izboljšanje delovanja aplikacije ali sistema. Predpomnjene podatke je mogoče hitro pridobiti in ponuditi uporabniku, ne da bi jih bilo treba ponovno pridobiti iz izvirnega vira.
Aplikacije uporabljajo predpomnjenje za hitrejše in učinkovitejše zagotavljanje vsebine, kar vodi do boljše uporabniške izkušnje in manjše obremenitve osnovnih sistemov. Najpogostejše vrste predpomnjenja vključujejo predpomnjenje v pomnilniku, CDN predpomnjenje, predpomnjenje brskalnika in predpomnjenje baze podatkov.
Kaj je predpomnjenje v pomnilniku?
Predpomnjenje v pomnilniku je vrsta predpomnjenja, pri katerem aplikacija začasno shrani pogosto dostopane podatke v pomnilnik strežnika. Namesto dragih klicev baze podatkov vsakič, ko aplikacija obdela zahtevo za dostop do podatkov, lahko te podatke pridobi iz pomnilnika.
Predpomnjenje podatkov v pomnilnik pomeni, da aplikacija hitreje dostopa do podatkov, rezultat tega pa je izboljšana zmogljivost.
Kako implementirati predpomnilnik v pomnilniku v aplikaciji Nest.js
Nest.js ima vgrajeno podporo za predpomnjenje z uporabo gonilnikov, kot so Redis, Memcached in številni drugi. Vendar pa ta članek za lažje razumevanje uporablja vgrajeni modul pomnilniškega predpomnilnika, ki ga nudi Nest.js.
Ta razdelek predvideva, da že imate aplikacijo Nest.js, ustvarjeno z ukazom Nest CLI: nest novo [ime aplikacije]. Za implementacijo predpomnilnika v pomnilniku v končni točki bi morali že imeti datoteke modula, storitve in krmilnika ali pa jih ustvariti z gnezdoustvariti ukaz. Več o ustvariti gnezdo v Dokumentacija Nest CLI.
Prvi korak za implementacijo predpomnilnika v pomnilniku je uvoz CacheModule od @nestjs/skupno v modul vaše končne točke, kot je prikazano spodaj:
// primer.modul.ts
uvoz {Modul, CacheModule} od'@nestjs/common';@Modul({
uvozi: [CacheModule.register()],
})
izvozrazred PrimerModula {}
Nato morate uvoziti CacheService in ga vnesite v storitev Nest.js, ki komunicira z a baze podatkov, kot je MongoDB. Vidite lahko, kako to naredi naslednji primer kode:
// example.service.ts
uvoz {Injectable, CacheService} od'@nestjs/common';@Za injiciranje()
izvozrazred PrimerService {
konstruktor(zasebno cacheService samo za branje: CacheService) {}asinh getData(): Obljuba<kaj> {
konst cacheKey = 'moji_podatki';
pustiti podatki = čakatito.cacheService.get (cacheKey);če (!podatki) {
// pridobivanje podatkov iz baze podatkov ali API-ja
podatki = čakatito.fetchData();// predpomni podatke za prihodnjo uporabo
čakatito.cacheService.set (cacheKey, podatki, { ttl: 60 });
}vrnitev podatki;
}
zasebnoasinh fetchData(): Obljuba<kaj> {
// pridobivanje podatkov iz baze podatkov
}
}
V zgornjem primeru kode je PrimerService uporablja CacheService kot odvisnost. The getData metoda preveri, ali so podatki na voljo v predpomnilniku z uporabo ključa (cacheKey), če podatkov ni v predpomnilniku, jih prevzame iz baze podatkov in predpomni za poznejšo uporabo.
The CacheService ima set metoda, ki sprejme objekt kot argument. V tem primeru lahko vidite, kako vrednost { ttl: 60 } nastavi čas do življenja na 60 sekund. To pomeni, da bo storitev samodejno odstranila predpomnjene podatke po eni minuti.
Nekatere pomembne prednosti predpomnjenja v pomnilniku vključujejo naslednje:
- Izboljšana razširljivost: Predpomnjenje v pomnilniku lahko pomaga izboljšati razširljivost aplikacij z zmanjšanjem obremenitve osnovnega vira podatkov.
- Hitrejši odzivni čas: Predpomnjenje podatkov, do katerih pogosto dostopate, v pomnilnik skrajša čas, potreben za pridobitev podatkov, kar ima za posledico hitrejše odzivne čase.
- Boljša uporabniška izkušnja: Hitrejši odzivni časi in izboljšana razširljivost lahko pomagajo zagotoviti boljšo uporabniško izkušnjo s skrajšanjem čakalne dobe in izboljšanjem splošne učinkovitosti aplikacije.
- Zmanjšani stroški: Z zmanjšanjem obremenitve vira podatkov lahko predpomnjenje v pomnilniku pomaga zmanjšati stroške izvajanja aplikacije.
Optimiziranje aplikacij Nest.js s predpomnilnikom v pomnilniku
Predpomnjenje v pomnilniku je zelo učinkovit način za izboljšanje splošne zmogljivosti aplikacije. Videli ste, kako implementirati predpomnilnik v pomnilniku v Nest.js in kako izboljšuje razširljivost in uporabniško izkušnjo. Prav tako lahko izboljša odzivni čas in zmanjša stroške izvajanja vaše aplikacije.
Poskusite koncept predpomnjenja uporabiti v praksi, ko gradite svoj naslednji API ali aplikacijo Nest.js.