Vai lēna, atkārtota datu iegūšana izraisa jūsu lietotnes nepietiekamu veiktspēju? Mēģiniet saglabāt kešatmiņu, lai atrisinātu problēmu.

Ātru un uzticamu tīmekļa lietojumprogrammu izveide mūsdienu digitālajā vidē ir svarīgāka nekā jebkad agrāk. Lietotājiem ir lielas cerības attiecībā uz vietnes veiktspēju. Lēni ielādes laiki vai dīkstāves var izraisīt klientu neapmierinātību un reputācijas bojājumus.

Viens no veidiem, kā izveidot ātras un uzticamas tīmekļa lietojumprogrammas, ir kešatmiņas izmantošana. Ir dažāda veida kešatmiņas, kuras varat ieviest savā lietojumprogrammā, tostarp atmiņas kešatmiņu, pārlūkprogrammas kešatmiņu, datu bāzes kešatmiņu un CDN kešatmiņu.

Kas ir kešatmiņa un ar ko atšķiras kešatmiņa atmiņā? Kā palielināt lietojumprogrammas Nest.js veiktspēju, izmantojot kešatmiņu atmiņā?

Kas ir kešatmiņa?

Kešatmiņa ir bieži piekļūtu datu glabāšanas process pagaidu vietā, lai uzlabotu lietojumprogrammas vai sistēmas veiktspēju. Kešatmiņā saglabātos datus var ātri izgūt un pasniegt lietotājam, tos atkārtoti neizgūstot no sākotnējā avota.

instagram viewer

Lietojumprogrammas izmanto kešatmiņu, lai ātrāk un efektīvāk piegādātu saturu, kas nodrošina labāku lietotāja pieredzi un samazina pamatā esošo sistēmu slodzi. Visizplatītākie kešatmiņas veidi ietver kešatmiņu atmiņā, CDN kešatmiņa, pārlūkprogrammas kešatmiņa un datu bāzes kešatmiņa.

Kas ir kešatmiņa atmiņā?

Kešatmiņa atmiņā ir kešatmiņas veids, kurā lietojumprogramma uz laiku saglabā servera atmiņā bieži piekļūtus datus. Tā vietā, lai katru reizi, kad lietotne apstrādā pieprasījumu piekļūt datiem, veiktu dārgus datu bāzes zvanus, tā var izgūt šos datus no atmiņas.

Datu saglabāšana kešatmiņā nozīmē, ka lietojumprogramma ātrāk piekļūst datiem, un tādējādi tiek uzlabota veiktspēja.

Kā ieviest kešatmiņu atmiņā Nest.js lietojumprogrammā

Nest.js ir iebūvēts atbalsts kešatmiņai, izmantojot tādus draiverus kā Redis, Memcached un daudz ko citu. Tomēr vieglākai izpratnei šajā rakstā tiek izmantots iebūvētais atmiņas kešatmiņas modulis, ko nodrošina Nest.js.

Šajā sadaļā tiek pieņemts, ka jums jau ir lietojumprogramma Nest.js, kas izveidota ar Nest CLI komandu: Nest new [lietotnes nosaukums]. Lai galapunktā ieviestu atmiņā esošo kešatmiņu, jums jau ir jābūt moduļa, pakalpojuma un kontrollera failiem vai jāģenerē tie, izmantojot ligzdaģenerēt komandu. Jūs varat uzzināt vairāk par ligzdu ģenerēšana iekš Nest CLI dokumentācija.

Pirmais solis, lai ieviestu atmiņā esošo kešatmiņu, ir importēt CacheModule no @nestjs/common galapunkta modulī, kā parādīts tālāk:

// example.module.ts
imports { Module, CacheModule } no"@nestjs/common";

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

eksportētklasē Piemēra modulis {}

Tālāk jums ir jāimportē CacheService un ievadiet to pakalpojumā Nest.js, kas sazinās ar a datu bāze, piemēram, MongoDB. Varat redzēt, kā šis koda piemērs to dara:

// example.service.ts
imports { Injectable, CacheService } no"@nestjs/common";

@Injicējams()
eksportētklasē exampleService {
konstruktors(Privāts tikai lasāms cacheService: CacheService) {}

asinhrons getData (): Apsolīt<jebkura> {
konst cacheKey = 'mani_dati';
ļaut dati = gaidītšis.cacheService.get (cacheKey);

ja (!dati) {
// iegūt datus no datu bāzes vai API
dati = gaidītšis.fetchData();

// saglabājiet datus kešatmiņā turpmākai lietošanai
gaidītšis.cacheService.set (cacheKey, dati, { ttl: 60 });
}

atgriezties dati;
}

Privātsasinhrons fetchData(): Apsolīt<jebkura> {
// izgūt datus no datu bāzes
}
}

Iepriekš minētajā koda piemērā Pakalpojuma piemērs lietojumiem CacheService kā atkarība. The getData metode pārbauda, ​​vai dati ir pieejami kešatmiņā, izmantojot atslēgu (cacheKey), ja dati neatrodas kešatmiņā, tas turpinās, lai tos izgūtu no datu bāzes un saglabātu kešatmiņā vēlākai lietošanai.

The CacheService ir komplekts metode, kas uztver objektu kā argumentu. Šajā gadījumā jūs varat redzēt, kā vērtība {ttl: 60} iestata dzīves ilgumu uz 60 sekundēm. Tas nozīmē, ka pakalpojums automātiski noņems kešatmiņā saglabātos datus pēc vienas minūtes.

Dažas svarīgas atmiņas kešatmiņas priekšrocības ir šādas:

  • Uzlabota mērogojamība: Kešatmiņa atmiņā var palīdzēt uzlabot lietojumprogrammu mērogojamību, samazinot pamatā esošā datu avota slodzi.
  • Ātrāks reakcijas laiks: Bieži piekļūtu datu saglabāšana kešatmiņā atmiņā samazina laiku, kas nepieciešams datu izgūšanai, kā rezultātā reakcijas laiks ir ātrāks.
  • Labāka lietotāja pieredze: Ātrāks reakcijas laiks un uzlabota mērogojamība var palīdzēt nodrošināt labāku lietotāja pieredzi, samazinot gaidīšanas laiku un uzlabojot lietojumprogrammas vispārējo veiktspēju.
  • Samazinātas izmaksas: Samazinot datu avota slodzi, kešatmiņa atmiņā var palīdzēt samazināt lietojumprogrammas darbības izmaksas.

Nest.js lietojumprogrammu optimizēšana, izmantojot kešatmiņu atmiņā

Kešatmiņas saglabāšana atmiņā ir ļoti efektīvs veids, kā uzlabot vispārējo lietojumprogrammu veiktspēju. Jūs esat redzējis, kā Nest.js ieviest atmiņā esošo kešatmiņu un kā tas uzlabo mērogojamību un lietotāja pieredzi. Tas var arī uzlabot reakcijas laiku un samazināt lietojumprogrammas darbības izmaksas.

Mēģiniet praktiski izmantot kešatmiņas koncepciju, veidojot nākamo Nest.js API vai lietojumprogrammu.