Šta je keširanje i kako zapravo radi

Jedan od najbitnijih koncepta weba je kešing. Ukratko ćemo objasniti koncept i značaj i šta je keširanje zapravo.

Šta je keširanje i kako radi?

Kako bismo jednostavnim jezikom objasnili proces i da ne bismo previše tehničke detalje koristili zamislite sledeći scenario. Vi ste server na kome stoje fajlovi i baza podataka, vaš kupac je posjetilac sajta, a između vas je sokovnik. Svaki put kada kupac traži određeni sok, vi uzmete količinu sastojaka po receptu. Recept su fajlovi a sastojci se nalaze u bazi podataka, ubacite u sokovnik i dobijete sok za kupca.

Zamislite da možete da unesete recept i sastojke u sokovnik i napravite 20 različitih recepata. Kada dodje kupac i zatraži sok, sokovnik već ima recept i sastojke. Sokovnik tada napravi sam porudžbinu i isporuči kupcu. U tom slučaju vi kao server ne radite ništa sve je uradio sokovnik sam daleko brže od vas. Kada vi morate da se uključite? Kada recept ne postoji i kupac traži nešto što nije niko prije njega, onda vi *server, skupite sastojke napravite novi recept i dodate ga u sokovnik. Sledeći put kada neko traži taj sok, opet sokovnik zna sam bez vas da ga napravi. Postoji još jedan slučaj kada ste vi potrebni a to je kada izmijenite postojeći recept.

Na našim Litespeed serverima koristimo Litespeed cache. Keširanje je jako značajno za optimizaciju sajta i uključuje i optimizaciju slika naravno.

Zašto je toliko keširanje bitno?

Pametnim keširanjem web stranica kako na serveru tako i u browseru koriste se resursi posjetioca i manje opterećeni resursi servera. Umjesto da se svaki put pravi upit ka bazi podataka kako bi se prikazala stranica na sajtu, tu stranicu server sačuva i isporuči je kako je sačuvana u kešu. Stranice kao što su o nama, kontakt, usluge, se mogu keširati na duže vrijeme jer na tim stranicama rijetko postoje izmjene. Praksa na WordPressu je da nakon svake izmjene obrišete keš ukoliko se to ne dešava automatski.

Šta je keširanje

Vrste keširanja

Malo sada više tehničkih detalja 🙂 koji su to tipovi keširanja i ključni koncepti kada se o keširanju razmišlja.

In memory caching je koncept kada se koristi RAM memorija za keširanje.

Database caching je koncept keširanja baze podataka i sadržaja koji baza podataka isporučuje.

Web Caching koji možemo podijeliti u dvije kategorije:

  1. Web Client Caching gdje zapravo koristimo browser posjetioca kako bismo sačuvali u njemu podatke kao što su CSS, tekstovi, slike i skripte. Sledeći put kada isti posjetilac posjeti istu stranicu, njegov browser će provjeriti šta ima sačuvano sa te stranice i isporučiti sve direktno iz browsera.
  2. Web Server Caching gdje čuvamo kreirane stranice na serveru kako bismo ih brže isporučili i ovaj pristup je jako bitan za dinamičke sajtove kao što su WordPress sajtovi gdje se sadržaj mijenja. Dok kod statičkih sajtova nema mnogo uticaja.

CDN Caching o ovome ćemo napisati poseban članak ali osnovni koncept je da se sačuvane stranice, skripte ili slike čuvaju na serverima širom planete i isporučuju se sa najbližeg servera posjetiocu sajta.

Vjerujemo da je članak na veoma jednostavan način približio keširanje kao koncept i korisniku weba koji nije programer već samo želi da razumije zašto je keširanje bitno i kako zapravo radi.