Да ли споро, понављајуће преузимање података узрокује лош учинак ваше апликације? Покушајте да кеширате да бисте решили проблем.

Изградња брзих и поузданих веб апликација важнија је него икада у данашњем дигиталном окружењу. Корисници имају велика очекивања када су у питању перформансе веб странице. Споро време учитавања или застоји могу довести до фрустрације купаца и оштећења репутације.

Један од начина за постизање брзих и поузданих веб апликација је коришћење кеширања. Постоје различите врсте кеш меморије које можете имплементирати у своју апликацију, укључујући кеш меморију, кеш претраживача, кеш базе података и ЦДН кеш.

Шта је кеширање и како се кеширање у меморији разликује? Како можете повећати перформансе своје Нест.јс апликације помоћу кеширања у меморији?

Шта је кеширање?

Кеширање је процес складиштења података којима се често приступа на привременој локацији ради побољшања перформанси апликације или система. Кеширани подаци се могу брзо преузети и сервирати кориснику без потребе да их поново преузима из оригиналног извора.

instagram viewer

Апликације користе кеширање за брже и ефикасније испоруку садржаја, што доводи до бољег корисничког искуства и смањеног оптерећења основних система. Најчешћи типови кеширања укључују кеширање у меморији, ЦДН кеширање, кеширање претраживача и кеширање базе података.

Шта је кеширање у меморији?

Кеширање у меморији је врста кеширања у којој апликација привремено складишти податке којима се често приступа у меморију сервера. Уместо да врши скупе позиве базе података сваки пут када апликација обради захтев за приступ подацима, она може да преузме те податке из меморије.

Кеширање података у меморији значи да апликација брже приступа подацима, а то резултира побољшаним перформансама.

Како имплементирати кеширање у меморији у Нест.јс апликацији

Нест.јс има уграђену подршку за кеширање помоћу драјвера као што су Редис, Мемцацхед и многи други. Међутим, ради лакшег разумевања, овај чланак користи уграђени меморијски кеш модул који Нест.јс обезбеђује.

Овај одељак претпоставља да већ имате Нест.јс апликацију креирану помоћу Нест ЦЛИ команде: нест нев [име апликације]. Да бисте имплементирали кеш меморију у крајњу тачку, требало би да већ имате датотеке модула, услуге и контролера или да их генеришете помоћу гнездоГенериши команда. Можете сазнати више о гнездо генерише у Нест ЦЛИ документација.

Први корак за имплементацију кеша у меморији је увоз ЦацхеМодуле из @нестјс/цоммон у модул ваше крајње тачке као што се види у наставку:

// екампле.модуле.тс
увоз { Модул, ЦацхеМодуле } из'@нестјс/цоммон';

@Модуле({
увози: [ЦацхеМодуле.регистер()],
})

извозкласа Пример модула {}

Затим морате да увезете ЦацхеСервице и убаците га у услугу Нест.јс која комуницира са а база података као што је МонгоДБ. Можете видети како следећи пример кода то ради:

// екампле.сервице.тс
увоз { Ињецтабле, ЦацхеСервице } из'@нестјс/цоммон';

@Ињецтабле()
извозкласа ЕкамплеСервице {
конструктор(приватни цацхеСервице само за читање: ЦацхеСервице) {}

асинц гетДата(): Обећавам<било који> {
конст цацхеКеи = 'моји_подаци';
дозволити подаци = чекатиово.цацхеСервице.гет (цацхеКеи);

ако (!подаци) {
// преузима податке из базе података или АПИ-ја
подаци = чекатиово.фетцхДата();

// кеширање података за будућу употребу
чекатиово.цацхеСервице.сет (цацхеКеи, подаци, {ттл: 60 });
}

повратак подаци;
}

приватниасинц фетцхДата(): Обећавам<било који> {
// преузима податке из базе података
}
}

У горњем примеру кода, ЕкамплеСервице користи ЦацхеСервице као зависност. Тхе гетДата метода проверава да ли су подаци доступни у кешу помоћу кључа (цацхеКеи), ако подаци нису у кешу, он их преузима из базе података и кешира за каснију употребу.

Тхе ЦацхеСервице има комплет метод који узима објекат као аргумент. У овом случају, можете видети како вредност {ттл: 60} поставља време за живот на 60 секунди. То значи да ће услуга аутоматски уклонити кеширане податке након једног минута.

Неке важне предности кеширања у меморији укључују следеће:

  • Побољшана скалабилност: Кеширање у меморији може помоћи у побољшању скалабилности апликација смањењем оптерећења основног извора података.
  • Брже време одговора: Кеширање података којима се често приступа у меморији смањује време потребно за преузимање података, што резултира бржим временом одговора.
  • Боље корисничко искуство: Брже време одзива и побољшана скалабилност могу помоћи да се обезбеди боље корисничко искуство смањењем времена чекања и побољшањем укупних перформанси апликације.
  • Смањени трошкови: Смањењем оптерећења извора података, кеширање у меморији може помоћи у смањењу трошкова покретања апликације.

Оптимизација Нест.јс апликација помоћу кеширања у меморији

Кеширање у меморији је веома ефикасан начин за побољшање укупних перформанси апликације. Видели сте како да имплементирате кеш меморију у Нест.јс и како то побољшава скалабилност и корисничко искуство. Такође може побољшати време одговора и смањити трошкове покретања ваше апликације.

Покушајте да примените концепт кеширања у практичну употребу када правите свој следећи Нест.јс АПИ или апликацију.