Да ли споро, понављајуће преузимање података узрокује лош учинак ваше апликације? Покушајте да кеширате да бисте решили проблем.
Изградња брзих и поузданих веб апликација важнија је него икада у данашњем дигиталном окружењу. Корисници имају велика очекивања када су у питању перформансе веб странице. Споро време учитавања или застоји могу довести до фрустрације купаца и оштећења репутације.
Један од начина за постизање брзих и поузданих веб апликација је коришћење кеширања. Постоје различите врсте кеш меморије које можете имплементирати у своју апликацију, укључујући кеш меморију, кеш претраживача, кеш базе података и ЦДН кеш.
Шта је кеширање и како се кеширање у меморији разликује? Како можете повећати перформансе своје Нест.јс апликације помоћу кеширања у меморији?
Шта је кеширање?
Кеширање је процес складиштења података којима се често приступа на привременој локацији ради побољшања перформанси апликације или система. Кеширани подаци се могу брзо преузети и сервирати кориснику без потребе да их поново преузима из оригиналног извора.
Апликације користе кеширање за брже и ефикасније испоруку садржаја, што доводи до бољег корисничког искуства и смањеног оптерећења основних система. Најчешћи типови кеширања укључују кеширање у меморији, ЦДН кеширање, кеширање претраживача и кеширање базе података.
Шта је кеширање у меморији?
Кеширање у меморији је врста кеширања у којој апликација привремено складишти податке којима се често приступа у меморију сервера. Уместо да врши скупе позиве базе података сваки пут када апликација обради захтев за приступ подацима, она може да преузме те податке из меморије.
Кеширање података у меморији значи да апликација брже приступа подацима, а то резултира побољшаним перформансама.
Како имплементирати кеширање у меморији у Нест.јс апликацији
Нест.јс има уграђену подршку за кеширање помоћу драјвера као што су Редис, Мемцацхед и многи други. Међутим, ради лакшег разумевања, овај чланак користи уграђени меморијски кеш модул који Нест.јс обезбеђује.
Овај одељак претпоставља да већ имате Нест.јс апликацију креирану помоћу Нест ЦЛИ команде: нест нев [име апликације]. Да бисте имплементирали кеш меморију у крајњу тачку, требало би да већ имате датотеке модула, услуге и контролера или да их генеришете помоћу гнездоГенериши команда. Можете сазнати више о гнездо генерише у Нест ЦЛИ документација.
Први корак за имплементацију кеша у меморији је увоз ЦацхеМодуле из @нестјс/цоммон у модул ваше крајње тачке као што се види у наставку:
// екампле.модуле.тс
увоз { Модул, ЦацхеМодуле } из'@нестјс/цоммон';@Модуле({
увози: [ЦацхеМодуле.регистер()],
})
извозкласа Пример модула {}
Затим морате да увезете ЦацхеСервице и убаците га у услугу Нест.јс која комуницира са а база података као што је МонгоДБ. Можете видети како следећи пример кода то ради:
// екампле.сервице.тс
увоз { Ињецтабле, ЦацхеСервице } из'@нестјс/цоммон';@Ињецтабле()
извозкласа ЕкамплеСервице {
конструктор(приватни цацхеСервице само за читање: ЦацхеСервице) {}асинц гетДата(): Обећавам<било који> {
конст цацхеКеи = 'моји_подаци';
дозволити подаци = чекатиово.цацхеСервице.гет (цацхеКеи);ако (!подаци) {
// преузима податке из базе података или АПИ-ја
подаци = чекатиово.фетцхДата();// кеширање података за будућу употребу
чекатиово.цацхеСервице.сет (цацхеКеи, подаци, {ттл: 60 });
}повратак подаци;
}
приватниасинц фетцхДата(): Обећавам<било који> {
// преузима податке из базе података
}
}
У горњем примеру кода, ЕкамплеСервице користи ЦацхеСервице као зависност. Тхе гетДата метода проверава да ли су подаци доступни у кешу помоћу кључа (цацхеКеи), ако подаци нису у кешу, он их преузима из базе података и кешира за каснију употребу.
Тхе ЦацхеСервице има комплет метод који узима објекат као аргумент. У овом случају, можете видети како вредност {ттл: 60} поставља време за живот на 60 секунди. То значи да ће услуга аутоматски уклонити кеширане податке након једног минута.
Неке важне предности кеширања у меморији укључују следеће:
- Побољшана скалабилност: Кеширање у меморији може помоћи у побољшању скалабилности апликација смањењем оптерећења основног извора података.
- Брже време одговора: Кеширање података којима се често приступа у меморији смањује време потребно за преузимање података, што резултира бржим временом одговора.
- Боље корисничко искуство: Брже време одзива и побољшана скалабилност могу помоћи да се обезбеди боље корисничко искуство смањењем времена чекања и побољшањем укупних перформанси апликације.
- Смањени трошкови: Смањењем оптерећења извора података, кеширање у меморији може помоћи у смањењу трошкова покретања апликације.
Оптимизација Нест.јс апликација помоћу кеширања у меморији
Кеширање у меморији је веома ефикасан начин за побољшање укупних перформанси апликације. Видели сте како да имплементирате кеш меморију у Нест.јс и како то побољшава скалабилност и корисничко искуство. Такође може побољшати време одговора и смањити трошкове покретања ваше апликације.
Покушајте да примените концепт кеширања у практичну употребу када правите свој следећи Нест.јс АПИ или апликацију.