Tehnologije

← Početna
Caching i stvarno vrijeme

Redis — in-memory caching za web-stranice i web-trgovine

Redis je sloj brzine iza web-stranica, web-trgovina i marketplaceova izgrađenih na 4buildsiteu: u memoriji (RAM-u) drži upravo podatke koje treba poslužiti trenutačno — cacheirane stranice, sesije, košarice, ograničenja brzine — i odgovara u manje od milisekunde. Izvor istine ostaje PostgreSQL; Redis ga štiti pri velikom prometu. Uključen je i vodi ga platforma, bez ikakve konfiguracije s vaše strane.

Što je Redis i zašto je tako brz

Redis (REmote DIctionary Server) je open-source in-memory baza podataka: podatke drži u RAM-u, a ne na disku, pa odgovara u manje od milisekunde. Na 4buildsiteu ga koristimo kao sloj ubrzanja ispred PostgreSQL-a — za sve što treba poslužiti trenutačno: stranice, sesije, košarice i ograničenja brzine.

Za razliku od diska, RAM je za redove veličine brži, a Redis dodaje izvorne strukture podataka (string, hash, lista, set, sorted set, stream) koje omogućuju složene operacije izravno u memoriji, bez povratnog puta do glavne baze. Obrada naredbi je single-threaded, pa je ponašanje predvidljivo i bez race conditiona.

  • Tipična latencija ispod 1 ms i preko 100.000 operacija u sekundi na jednom čvoru
  • Izvorne strukture: hashevi za sesije, sorted set za top-liste i rate limiting, stream za redove
  • Single-threaded na naredbama → predvidljivo ponašanje, bez složenih blokada

Caching: vaše stranice i podaci, poslužani iz memorije

Strategija je cache-aside: prvi zahtjev čita iz PostgreSQL-a i sprema rezultat u Redis s TTL-om (vrijeme života); sljedeći zahtjevi dohvaćaju ga izravno iz memorije. Kada uredite stranicu, ključ se eksplicitno briše, pa se ne oslanjamo na slijepi TTL koji bi mogao poslužiti zastarjele podatke.

Za prezentacijsku web-stranicu ili web-trgovinu to znači da se popisi proizvoda, izbornici, popularne stranice i fragmenti sadržaja isporučuju iz memorije, a ne upitom na bazu podataka. Pri vrhuncima (kampanja, Black Friday) Redis upija ponavljane zahtjeve.

  • Cache-aside s eksplicitnom invalidacijom — bez zastarjelih podataka
  • Pohranjuje fragmente stranica i rezultate upita, ne samo cijele stranice
  • Štiti PostgreSQL pri vrhuncima prometa, smanjujući vrijeme odgovora

Sesije, košarica i zaštita od zlouporabe

Korisničke sesije i refresh tokeni nalaze se u Redisu: brza autentifikacija, automatski istek putem TTL-a i opoziv na svim uređajima kada se netko odjavi ili promijeni lozinku.

Košarica u web-trgovinama izgrađenima na 4buildsiteu drži se u Redisu za neprijavljene posjetitelje — s istekom, bez napuhivanja glavne baze. Redis također primjenjuje rate limiting na kontaktnim obrascima i prijavi, koristeći sorted sets, kako bi zaustavio spam i pokušaje grube sile prije nego što stignu do baze podataka.

  • Session store s automatskim istekom i selektivnim opozivom tokena
  • Trajna košarica s TTL-om za anonimne posjetitelje
  • Rate limiting i zaštita od zlouporabe na obrascima i autentifikaciji

Stvarno vrijeme i redovi poslova u pozadini

Redis Pub/Sub i Streams pokreću ažuriranja u stvarnom vremenu: zaliha koja pada uživo, obavijest u aplikaciji, status narudžbe koji se mijenja — sve bez da posjetitelj osvježava stranicu i bez ponavljanog pollinga koji zamara poslužitelj.

Teški zadaci (obrada slike, generiranje exporta, sinkronizacija) ulaze u Redis red i izvršavaju ih workeri u pozadini, kako posjetitelj ne bi čekao na njih. Mehanizam distribuiranog zaključavanja pomaže da se kritična operacija ne izvrši dvaput.

  • Pub/Sub i Streams za događaje uživo (zaliha, narudžbe, obavijesti)
  • Redovi poslova za teške obrade koje se izvršavaju asinkrono
  • Distribuirano zaključavanje za operacije koje se ne smiju izvršiti dvaput

Prednosti i ograničenja

Prednosti

  • Odgovor ispod 1 ms: cacheirani podaci poslužuju se iz memorije
  • Dramatično smanjuje opterećenje PostgreSQL-a pri velikom prometu
  • Izvorne strukture za sesije, košaricu, rate limiting i top-liste
  • Pub/Sub i Streams za funkcije u stvarnom vremenu, bez pollinga
  • Redovi poslova za teške obrade, bez blokiranja posjetitelja
  • Uključen i vođen platformom — nula konfiguracije za vas

Ograničenja

  • Podaci su u RAM-u, koji je skuplji od diska → nije za goleme količine „hladnih“ podataka
  • Riječ je o cacheu / pomoćnom sloju, a ne izvoru istine — trajni podaci ostaju u PostgreSQL-u
  • Perzistencija (RDB/AOF) smanjuje, ali ne uklanja u potpunosti rizik gubitka zadnjih sekundi pri padu
  • Zahtijeva ispravnu strategiju invalidacije, inače može poslužiti zastarjele podatke

Kratak zaključak

Koristite Redis za sve što mora biti trenutačno — caching, sesije, košaricu, rate limiting, stvarno vrijeme i redove poslova. Ne koristite ga kao glavno spremište podataka; za to ostaje PostgreSQL. Na 4buildsiteu imate oboje, automatski usklađeno: ne morate birati niti konfigurirati ništa.

Tablica specifikacija

MogućnostDetaljGdje se koristi u builderu
Latencija< 1 ms (in-memory)Stranice i podaci poslužani iz memorije
Propusnost> 100.000 ops/s po čvoruVelik promet uz rasterećenu bazu
Strukture podatakastring, hash, list, set, sorted set, streamSesije, košarica, top-liste, redovi, rate limiting
PerzistencijaRDB snapshot + AOF logBrz oporavak nakon restarta
IstekTTL po ključuKošarica, sesije i cache s automatskim čišćenjem
Stvarno vrijemePub/Sub + StreamsZaliha uživo, obavijesti, status narudžbe

Redis (cache) u odnosu na samo bazu podataka

KriterijS RedisomSamo PostgreSQL
Vrijeme odgovora za ponavljane podatkeispod 1 ms, iz memorijedeseci ms, upit pri svakom zahtjevu
Pri velikom prometubaza zaštićena, lako skalirabaza se zagušuje, rizik timeouta
Košarica i sesijebrze, s automatskim istekomtablice koje rastu i opterećuju bazu
Stvarno vrijemeizvorni Pub/Sub i Streamsponavljani polling, skup
Redovi poslovaizvorni, jednostavni za korištenjeimprovizirana rješenja ili ih nema

Često postavljana pitanja

Što je Redis, ukratko?

Ultrabrza in-memory baza podataka koja se koristi kao sloj cachea, sesija i stvarnog vremena ispred glavne baze. Odgovara za manje od milisekunde.

Zašto ne koristite samo PostgreSQL?

PostgreSQL je izvor istine (trajni podaci), ali Redis poslužuje ponavljane podatke za manje od milisekunde i preuzima košaricu, sesije, rate limiting i stvarno vrijeme, štiteći bazu pri velikom prometu. Njih dvoje rade zajedno.

Gubim li podatke ako Redis padne?

Ne sadržaj web-stranice: trajni podaci su u PostgreSQL-u. U Redisu su samo cache i privremeni podaci, a RDB/AOF perzistencija smanjuje gubitke.

Moram li ja konfigurirati Redis?

Ne. Uključen je i vodi ga platforma 4buildsite; vi dobivate funkcije u stvarnom vremenu bez ikakvog administriranja.

Kako Redis pomaže web-trgovini?

Košarica za posjetitelje, cacheirani popisi proizvoda, zaliha ažurirana uživo i zaštita od zlouporabe pri checkoutu i na obrascima — sve bez opterećivanja baze podataka.

Pomaže li Redis SEO-u i Core Web Vitalsima?

Da, neizravno: kratka vremena odgovora poboljšavaju TTFB i Core Web Vitals, signale koji su važni za Google i za korisničko iskustvo.

4b2b.net
Poslovni ekosustav
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturiranje
4expenses.net
Upravljanje troškovima
4notify.net
Obavijesti
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada web-stranica
4myapp.net
Izrada aplikacija
4avatars.net
AI avatari
4chaty.net
AI chatbot
4webagency.net
Softver za web agencije
4softedu.net
Web-stranice za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sustav
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Upravitelj projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Rezervacije
4marketingonline.net
Marketing
4insurance.net
Osiguranje
4property.net
Nekretnine
4lawyers.net
Pravni softver
4mygarage.net
Autoservis
4driving.net
Autoškole
4fleet.net
Upravljanje voznim parkom
4myevents.net
Događaji
4therapy.net
Terapija
4clinics.net
Klinike
4dental.net
Stomatološke ordinacije
4restaurants.net
Restorani
4beautify.net
Salon ljepote
4gym.net
Teretane
4guards.net
Zaštitarske tvrtke
4softvet.net
Veterinarske ambulante
4softauto.net
Softver za auto-poslovanje
4construct.net
Građevinske firme
4marketplace.net
Tržnica
4shopy.net
Internetska trgovina
4pricing.net
Usporedba cijena
4salefood.net
Dostava hrane
4rentify.net
Najam
4transports.net
Transport
4agencytravel.net
Putnička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO