Spôsobuje pomalé, opakované načítavanie údajov nedostatočnú výkonnosť vašej aplikácie? Skúste problém vyriešiť pomocou vyrovnávacej pamäte.
Vytváranie rýchlych a spoľahlivých webových aplikácií je v dnešnom digitálnom prostredí dôležitejšie ako kedykoľvek predtým. Používatelia majú vysoké očakávania, pokiaľ ide o výkonnosť webových stránok. Pomalé časy načítania alebo prestoje môžu viesť k frustrácii zákazníkov a poškodeniu reputácie.
Jedným zo spôsobov, ako dosiahnuť rýchle a spoľahlivé webové aplikácie, je použitie vyrovnávacej pamäte. Existujú rôzne druhy vyrovnávacích pamätí, ktoré môžete implementovať do svojej aplikácie, vrátane vyrovnávacej pamäte v pamäti, vyrovnávacej pamäte prehliadača, vyrovnávacej pamäte databázy a vyrovnávacej pamäte CDN.
Čo je ukladanie do vyrovnávacej pamäte a ako sa líši ukladanie do pamäte? Ako môžete zvýšiť výkon svojej aplikácie Nest.js pomocou vyrovnávacej pamäte v pamäti?
Čo je ukladanie do vyrovnávacej pamäte?
Ukladanie do vyrovnávacej pamäte je proces ukladania často používaných údajov na dočasné miesto s cieľom zlepšiť výkon aplikácie alebo systému. Údaje uložené vo vyrovnávacej pamäti je možné rýchlo získať a poskytnúť používateľovi bez toho, aby ich musel znova získavať z pôvodného zdroja.
Aplikácie využívajú vyrovnávaciu pamäť na rýchlejšie a efektívnejšie poskytovanie obsahu, čo vedie k lepšej používateľskej skúsenosti a zníženiu zaťaženia základných systémov. Medzi najbežnejšie typy ukladania do vyrovnávacej pamäte patrí ukladanie do vyrovnávacej pamäte v pamäti, Ukladanie do vyrovnávacej pamäte CDN, ukladanie do vyrovnávacej pamäte prehliadača a do vyrovnávacej pamäte databázy.
Čo je ukladanie do pamäte cache?
Ukladanie do vyrovnávacej pamäte v pamäti je typ ukladania do vyrovnávacej pamäte, pri ktorom aplikácia dočasne ukladá často používané údaje do pamäte servera. Namiesto drahých volaní do databázy zakaždým, keď aplikácia spracuje žiadosť o prístup k údajom, môže tieto údaje načítať z pamäte.
Ukladanie údajov do vyrovnávacej pamäte znamená, že aplikácia pristupuje k údajom rýchlejšie a výsledkom je vyšší výkon.
Ako implementovať ukladanie do pamäte cache v aplikácii Nest.js
Nest.js má vstavanú podporu pre ukladanie do vyrovnávacej pamäte pomocou ovládačov ako Redis, Memcached a mnoho ďalších. Pre ľahké pochopenie však tento článok používa vstavaný modul vyrovnávacej pamäte, ktorý poskytuje Nest.js.
Táto časť predpokladá, že už máte aplikáciu Nest.js vytvorenú pomocou príkazu Nest CLI: vložiť nové [názov aplikácie]. Ak chcete implementovať vyrovnávaciu pamäť v koncovom bode, mali by ste už mať súbory modulu, služby a radiča alebo ich vygenerovať pomocou hniezdogenerovať príkaz. Môžete sa dozvedieť viac o hniezdo generovať v Dokumentácia Nest CLI.
Prvým krokom na implementáciu vyrovnávacej pamäte v pamäti je import CacheModule od @nestjs/common do modulu vášho koncového bodu, ako je uvedené nižšie:
// example.module.ts
importovať { Modul, CacheModule } od'@nestjs/common';@Modul({
importuje: [CacheModule.register()],
})
exporttrieda Vzorový modul {}
Ďalej je potrebné importovať CacheService a vložiť ho do služby Nest.js, ktorá komunikuje s a databázy ako MongoDB. Môžete vidieť, ako to robí nasledujúci príklad kódu:
// example.service.ts
importovať { Injekčné, CacheService } od'@nestjs/common';@Injekčné()
exporttrieda Vzorová služba {
konštruktér(súkromné cacheService iba na čítanie: CacheService) {}async getData(): Sľub<akýkoľvek> {
konšt cacheKey = 'moje_údaje';
nech údaje = čakaťtoto.cacheService.get (cacheKey);ak (!data) {
// načítanie údajov z databázy alebo API
údaje = čakaťtoto.fetchData();// údaje vyrovnávacej pamäte pre budúce použitie
čakaťtoto.cacheService.set (cacheKey, data, { ttl: 60 });
}vrátiť údaje;
}
súkromnéasync fetchData(): Sľub<akýkoľvek> {
// načítanie údajov z databázy
}
}
Vo vyššie uvedenom príklade kódu je PríkladSlužby používa CacheService ako závislosť. The getData metóda skontroluje, či sú údaje dostupné vo vyrovnávacej pamäti pomocou kľúča (cacheKey), ak údaje nie sú vo vyrovnávacej pamäti, vykoná ich načítanie z databázy a uloží ich do vyrovnávacej pamäte na neskoršie použitie.
The CacheService má nastaviť metóda, ktorá berie objekt ako argument. V tomto prípade môžete vidieť, ako hodnota { ttl: 60} nastaví dobu životnosti na 60 sekúnd. To znamená, že služba automaticky odstráni údaje z vyrovnávacej pamäte po jednej minúte.
Medzi dôležité výhody ukladania do vyrovnávacej pamäte v pamäti patria:
- Vylepšená škálovateľnosť: Ukladanie do pamäte cache môže pomôcť zlepšiť škálovateľnosť aplikácií znížením zaťaženia základného zdroja údajov.
- Rýchlejší čas odozvy: Ukladanie často používaných údajov do pamäte cache znižuje čas potrebný na získanie údajov, čo vedie k rýchlejšej odozve.
- Lepší používateľský zážitok: Rýchlejšie časy odozvy a lepšia škálovateľnosť môžu pomôcť poskytnúť lepšiu používateľskú skúsenosť znížením čakacej doby a zlepšením celkového výkonu aplikácie.
- Znížené náklady: Znížením zaťaženia zdroja údajov môže ukladanie do pamäte cache pomôcť znížiť náklady na prevádzku aplikácie.
Optimalizácia aplikácií Nest.js pomocou vyrovnávacej pamäte v pamäti
Ukladanie do vyrovnávacej pamäte v pamäti je veľmi efektívny spôsob, ako zlepšiť celkový výkon aplikácie. Videli ste, ako implementovať vyrovnávaciu pamäť v pamäti Nest.js a ako to zlepšuje škálovateľnosť a používateľskú skúsenosť. Môže tiež zlepšiť čas odozvy a znížiť náklady na prevádzku vašej aplikácie.
Skúste koncept ukladania do vyrovnávacej pamäte prakticky využiť pri vytváraní vášho ďalšieho rozhrania Nest.js API alebo aplikácie.