Preluarea lentă și repetitivă a datelor face ca aplicația dvs. să aibă performanțe slabe? Încercați să puneți în cache pentru a rezolva problema.

Construirea de aplicații web rapide și fiabile este mai importantă ca niciodată în peisajul digital de astăzi. Utilizatorii au așteptări mari când vine vorba de performanța site-ului. Timpii de încărcare lenți sau timpul de nefuncționare pot duce la frustrarea clienților și la deteriorarea reputației.

O modalitate de a obține aplicații web rapide și de încredere este prin utilizarea cache-ului. Există diferite tipuri de cache pe care le puteți implementa în aplicația dvs., inclusiv cache în memorie, cache browser, cache bază de date și cache CDN.

Ce este stocarea în cache și cum diferă stocarea în cache în memorie? Cum puteți crește performanța aplicației dvs. Nest.js cu stocarea în cache în memorie?

Ce este caching-ul?

Memorarea în cache este procesul de stocare a datelor accesate frecvent într-o locație temporară pentru a îmbunătăți performanța unei aplicații sau a unui sistem. Datele stocate în cache pot fi recuperate rapid și furnizate utilizatorului fără a fi nevoie să le recupereze din nou din sursa originală.

instagram viewer

Aplicațiile folosesc memorarea în cache pentru a furniza conținut mai rapid și mai eficient, ceea ce duce la o experiență mai bună pentru utilizator și la o sarcină redusă asupra sistemelor de bază. Cele mai obișnuite tipuri de stocare în cache includ stocarea în cache în memorie, Memorarea în cache CDN, stocarea în cache a browserului și stocarea în cache a bazei de date.

Ce este stocarea în cache în memorie?

Cache în memorie este un tip de cache în care o aplicație stochează temporar date accesate frecvent în memoria serverului. În loc să facă apeluri costisitoare la baza de date de fiecare dată când aplicația procesează o solicitare de acces la date, poate prelua acele date din memorie.

Memorarea în cache a datelor în memorie înseamnă că aplicația accesează datele mai rapid, iar acest lucru are ca rezultat o performanță îmbunătățită.

Cum să implementați memorarea în cache în memorie într-o aplicație Nest.js

Nest.js are suport încorporat pentru stocarea în cache folosind drivere precum Redis, Memcached și multe altele. Cu toate acestea, pentru o înțelegere ușoară, acest articol utilizează modulul de memorie cache încorporat pe care Nest.js îl oferă.

Această secțiune presupune că aveți deja o aplicație Nest.js creată cu comanda Nest CLI: cuib nou [numele aplicației]. Pentru a implementa cache-ul în memorie într-un punct final, ar trebui să aveți deja fișierele modulului, serviciului și controlerului sau să le generați folosind cuibGenera comanda. Puteți afla mai multe despre genera cuib în Documentația Nest CLI.

Primul pas pentru implementarea unui cache în memorie este să importați fișierul CacheModule din @nestjs/common în modulul punctului final, așa cum se vede mai jos:

// exemplu.modul.ts
import { Modul, CacheModule } din„@nestjs/common”;

@Modul({
importuri: [CacheModule.register()],
})

exportclasă Exemplu de modul {}

Apoi, trebuie să importați CacheService și injectați-l în serviciul Nest.js care comunică cu a bază de date precum MongoDB. Puteți vedea cum următorul exemplu de cod face acest lucru:

// exemplu.serviciu.ts
import { Injectabil, CacheService } din„@nestjs/common”;

@Injectabil()
exportclasă Exemplu de serviciu {
constructor(privat readonly cacheService: CacheService) {}

asincron Obțineți date(): Promisiune<orice> {
const cacheKey = 'datele mele';
lăsa date = așteaptăacest.cacheService.get (cacheKey);

dacă (!date) {
// preluați date din baza de date sau API
date = așteaptăacest.fetchData();

// date cache pentru utilizare ulterioară
așteaptăacest.cacheService.set (cacheKey, date, { ttl: 60 });
}

întoarcere date;
}

privatasincron fetchData(): Promisiune<orice> {
// preia datele din baza de date
}
}

În exemplul de cod de mai sus, Exemplu de serviciu utilizări CacheService ca o dependență. The Obțineți date metoda verifică dacă datele sunt disponibile în cache folosind o cheie (cacheKey), dacă datele nu se află în cache, acesta continuă să le preia din baza de date și să le memoreze în cache pentru o utilizare ulterioară.

The CacheService are o a stabilit metodă care ia un obiect ca argument. În acest caz, puteți vedea cum este valoarea {ttl: 60} setează timpul de viață la 60 de secunde. Aceasta înseamnă că serviciul va elimina automat datele din cache după un minut.

Câteva avantaje importante ale stocării în cache în memorie includ următoarele:

  • Scalabilitate îmbunătățită: Memorarea în cache în memorie poate ajuta la îmbunătățirea scalabilității aplicațiilor prin reducerea încărcării sursei de date subiacente.
  • Timp de răspuns mai rapid: Memorarea în cache a datelor accesate frecvent în memorie reduce timpul necesar pentru preluarea datelor, rezultând timpi de răspuns mai rapid.
  • Experiență de utilizator mai bună: Timpii de răspuns mai rapizi și scalabilitatea îmbunătățită pot ajuta la furnizarea unei experiențe mai bune pentru utilizator prin reducerea timpului de așteptare și îmbunătățirea performanței generale a aplicației.
  • Costuri reduse: Prin reducerea încărcării sursei de date, stocarea în cache în memorie poate ajuta la reducerea costurilor de rulare a aplicației.

Optimizarea aplicațiilor Nest.js cu stocarea în cache în memorie

Memorarea în cache în memorie este o modalitate foarte eficientă de a îmbunătăți performanța generală a aplicației. Ați văzut cum să implementați un cache în memorie în Nest.js și cum îmbunătățește scalabilitatea și experiența utilizatorului. De asemenea, poate îmbunătăți timpul de răspuns și poate reduce costurile de rulare a aplicației dvs.

Încercați să utilizați conceptul de memorare în cache atunci când vă construiți următoarea API sau aplicație Nest.js.