Ar dėl lėto ir pasikartojančio duomenų gavimo jūsų programa neveikia? Pabandykite išsaugoti talpyklą, kad išspręstumėte problemą.

Greitų ir patikimų žiniatinklio programų kūrimas yra kaip niekad svarbus šiuolaikiniame skaitmeniniame pasaulyje. Vartotojai turi didelių lūkesčių, susijusių su svetainės veikimu. Lėtas pakrovimo laikas arba prastovos gali sukelti klientų nusivylimą ir sugadinti reputaciją.

Vienas iš būdų sukurti greitas ir patikimas žiniatinklio programas yra talpyklos naudojimas. Yra įvairių tipų talpyklų, kurias galite įdiegti savo programoje, įskaitant talpyklą atmintyje, naršyklės talpyklą, duomenų bazės talpyklą ir CDN talpyklą.

Kas yra talpyklos kaupimas ir kuo skiriasi talpyklos talpinimas atmintyje? Kaip galite padidinti savo Nest.js programos našumą naudodami talpyklą atmintyje?

Kas yra talpyklos kaupimas?

Talpykla yra dažnai pasiekiamų duomenų saugojimo laikinoje vietoje procesas, siekiant pagerinti programos ar sistemos našumą. Talpykloje saugomus duomenis galima greitai nuskaityti ir pateikti vartotojui, nereikia jų dar kartą nuskaityti iš pirminio šaltinio.

instagram viewer

Programos naudoja talpyklą, kad greičiau ir efektyviau pateiktų turinį, o tai pagerina vartotojo patirtį ir sumažina pagrindinių sistemų apkrovą. Labiausiai paplitę talpyklos tipai apima talpyklą atmintyje, CDN talpyklos kaupimas, naršyklės talpyklą ir duomenų bazių talpyklą.

Kas yra talpyklos kaupimas atmintyje?

Talpyklos talpykloje atmintyje yra talpyklos tipas, kai programa laikinai išsaugo dažnai pasiekiamus duomenis serverio atmintyje. Užuot atlikę brangius duomenų bazių skambučius kiekvieną kartą, kai programa apdoroja užklausą pasiekti duomenis, ji gali gauti tuos duomenis iš atminties.

Duomenų talpinimas atmintyje reiškia, kad programa greičiau pasiekia duomenis, o tai pagerina našumą.

Kaip įdiegti talpyklą „Nest.js“ programoje

„Nest.js“ turi integruotą talpyklos saugojimo palaikymą naudojant tokias tvarkykles kaip „Redis“, „Memcached“ ir daug daugiau. Tačiau, kad būtų lengviau suprasti, šiame straipsnyje naudojamas integruotasis atminties talpyklos modulis, kurį teikia Nest.js.

Šioje skiltyje daroma prielaida, kad jau turite Nest.js programą, sukurtą su Nest CLI komanda: Nest new [programos pavadinimas]. Norėdami įdiegti talpyklą atmintyje galutiniame taške, jau turėtumėte turėti modulio, paslaugos ir valdiklio failus arba sugeneruoti juos naudodami lizdasgeneruoti komandą. Galite sužinoti daugiau apie lizdą generuoti viduje „Nest“ CLI dokumentacija.

Pirmasis žingsnis norint įdiegti talpyklą atmintyje yra importuoti CacheModule@nestjs/common į galutinio taško modulį, kaip parodyta toliau:

// example.module.ts
importuoti { Modulis, talpyklos modulis } „@nestjs/common“;

@Modulis({
importai: [CacheModule.register()],
})

eksportuotiklasė Modulio pavyzdys {}

Toliau reikia importuoti CacheService ir įdėkite jį į Nest.js paslaugą, kuri palaiko ryšį su a duomenų bazė, tokia kaip MongoDB. Galite pamatyti, kaip tai daro šis kodo pavyzdys:

// example.service.ts
importuoti { Injectable, CacheService } „@nestjs/common“;

@Injekcinis()
eksportuotiklasė PavyzdysService {
konstruktorius(privatus skaitoma cacheService: CacheService) {}

async getData (): Pažadas<bet koks> {
konst cacheKey = „mano_duomenys“;
leisti duomenys = lauktitai.cacheService.get (cacheKey);

jeigu (!duomenys) {
// gauti duomenis iš duomenų bazės arba API
duomenys = lauktitai.fetchData();

// talpyklos duomenis naudoti ateityje
lauktitai.cacheService.set (cacheKey, data, { ttl: 60 });
}

grąžinti duomenys;
}

privatusasync fetchData (): Pažadas<bet koks> {
// gauti duomenis iš duomenų bazės
}
}

Aukščiau pateiktame kodo pavyzdyje Paslaugos pavyzdys naudoja CacheService kaip priklausomybė. The getData metodas patikrina, ar duomenys yra talpykloje, naudodami raktą (cacheKey), jei duomenų nėra talpykloje, jie paima juos iš duomenų bazės ir išsaugo talpyklą, kad būtų galima naudoti vėliau.

The CacheService turi rinkinys metodas, kuris objektą priima kaip argumentą. Šiuo atveju galite pamatyti, kaip vertė {ttl: 60} nustato gyvenimo trukmę iki 60 sekundžių. Tai reiškia, kad paslauga automatiškai pašalins talpykloje saugomus duomenis po vienos minutės.

Kai kurie svarbūs talpyklos atmintyje privalumai yra šie:

  • Patobulintas mastelio keitimas: Talpyklos kaupimas atmintyje gali padėti pagerinti programų mastelio keitimą sumažinant pagrindinio duomenų šaltinio apkrovą.
  • Greitesnis atsako laikas: Dažnai pasiekiamų duomenų išsaugojimas atmintyje sumažina duomenų gavimo laiką, todėl atsako laikas yra greitesnis.
  • Geresnė vartotojo patirtis: Greitesnis atsako laikas ir geresnis mastelio keitimas gali padėti užtikrinti geresnę vartotojo patirtį, nes sumažinamas laukimo laikas ir pagerinamas bendras programos našumas.
  • Sumažėjusios išlaidos: Sumažinus duomenų šaltinio apkrovą, talpyklos kaupimas atmintyje gali padėti sumažinti programos vykdymo išlaidas.

„Nest.js“ programų optimizavimas naudojant talpyklą

Talpyklos kaupimas atmintyje yra labai efektyvus būdas pagerinti bendrą programos našumą. Matėte, kaip „Nest.js“ įdiegti talpyklą atmintyje ir kaip ji pagerina mastelio keitimą ir naudotojo patirtį. Tai taip pat gali pagerinti atsako laiką ir sumažinti programos vykdymo išlaidas.

Pabandykite praktiškai pritaikyti talpyklos sąvoką kurdami kitą Nest.js API ar programą.