Andmete puhverdamine (Data Caching)
Andmete puhverdamine on protsess, kus andmed või failid salvestatakse
ajutisse salvestuskohta (vahemällu), et neile saaks kiiremini ligi pääseda.
See võimaldab tarkvaral, serveril või veebibrauseril vältida korduvat andmete allalaadimist ning
kiirendab rakenduse või veebilehe laadimist.
Eesmärk: vähendada võrgu- ja serverikoormust ning parandada kasutajakogemust.
Puhverdamist kasutatakse sageli API vastuste, piltide, CSS/JS failide ja kasutajaandmete
ajutiseks salvestamiseks, et järgmised külastused oleksid kiiremalt laetavad.
Andmete dubleerimine (Data Replication)
Andmete dubleerimine tähendab andmete kopeerimist ja säilitamist mitmes
asukohas — kas samas süsteemis, teises serveris või pilveteenuses. Selle eesmärk on
suurendada kättesaadavust, andmete turvalisust ja
lugemise kiirust.
Andmete dubleerimise eelised
- Parandab andmete kättesaadavust.
- Suurendab juurdepääsu kiirust ja töökindlust.
- Parandab serveri jõudlust mitme koopia vahel jaotamisel.
- Võimaldab andmete taastamist rikete korral.
localStorage ja sessionStorage
localStorage ja sessionStorage on brauseri mehhanismid, mis võimaldavad
salvestada andmeid võtme–väärtuse paaridena kliendipoolel.
- sessionStorage – andmed säilivad lehe uuendamisel, kuid kustuvad akna sulgemisel.
- localStorage – andmed jäävad alles seni, kuni kasutaja kustutab need käsitsi
või veebirakendus kustutab need koodiga.
Näide kasutusest: Kasutaja sisselogimise oleku, eelistuste või viimase otsingu tulemuste
ajutine salvestamine ilma serveripäringuta.
Küpsised (Cookies)
HTTP-protokoll on olemuselt seansivaba — iga päring on iseseisev, mistõttu server ei tea,
kas mitu päringut tulevad samalt kasutajalt. Selle probleemi lahendamiseks kasutatakse küpsiseid.
Küpsised on väikesed nimi = väärtus paarid, mida server saadab kliendile ning
mida brauser saadab järgnevate päringutega tagasi kuni küpsis aegub. Nii saab server
eristada erinevaid kasutajaid ja hallata sessioone.
Küpsiste kasutusnäited
- Sisselogimisfunktsionaalsus (kasutaja tuvastamine).
- Saidi eelistuste ja keele salvestamine.
- Ostukorvi sisu säilitamine e-poes.
Kuidas localStorage töötab?
Kui küpsised liiguvad HTTP päringu päistes serveri ja kliendi vahel, siis
localStorage on brauseripoolne salvestuskoht, millele pääseb ligi ainult JavaScriptiga.
Tähtis: localStorage on domeenipõhine – teised domeenid ei näe teise veebilehe andmeid
(nt Facebook ei pääse ligi Gmaili localStorage’ile).
localStorage meetodid
- setItem(key, value) – lisab uue võtme ja väärtuse.
- getItem(key) – tagastab väärtuse vastava võtme järgi.
- removeItem(key) – eemaldab konkreetse võtme.
- clear() – kustutab kõik kirjed.
- key(index) – tagastab võtme nime indeksinumbri järgi.
Näide localStorage’i kasutamisest puhverdamiseks
// Kontrollime, kas vahemälus on andmeid
let widgetsCache = localStorage.getItem("widgetsCache")
? JSON.parse(localStorage.getItem("widgetsCache")) // kui on, parsi JSON objektiks
: fetch("/api/widgets") // kui pole, tee võrgupäring
.then(res => res.json());
// Salvestame andmed localStorage’sse tulevikuks
localStorage.setItem("widgetsCache", JSON.stringify(widgetsCache));
Selgitus:
- Kontrollitakse, kas andmed on juba localStorage’is olemas.
- Kui on, kasutatakse neid ilma uut võrgupäringut tegemata.
- Kui ei ole, tehakse API päring ja saadud andmed salvestatakse localStorage’sse.
- Järgmisel korral laaditakse andmed kiiremini – see on puhverdamine.
Kokkuvõte
Veebiteenuse optimeerimisel on võtmetähtsusega puhverdamine (kiirem andmete kättesaamine)
ja dubleerimine (andmete turvalisus ja töökindlus).
Brauseripoolsed tööriistad nagu localStorage, sessionStorage ja
küpsised aitavad vähendada serverikoormust ning parandada kasutajakogemust,
säilitades olulised andmed lokaalselt.