Tehnologije

← Početna
Keširanje i realno vreme

Redis — in-memory keširanje za sajtove i prodavnice

Redis je sloj brzine iza sajtova, prodavnica i marketplace-ova izgrađenih na 4buildsite-u: u memoriji (RAM) čuva podatke koji se često čitaju — keširane stranice, sesije, korpe, ograničenja učestalosti. Izvor istine ostaje PostgreSQL; Redis ga rasterećuje pri velikom saobraćaju. Uključen je i njime upravlja platforma, bez ikakvog podešavanja sa vaše strane.

Šta je Redis i kako radi

Redis (REmote DIctionary Server) je in-memory baza podataka otvorenog koda: čuva podatke u RAM-u, a ne na disku. Na 4buildsite-u ga koristimo kao sloj ubrzanja ispred PostgreSQL-a — za sve što se često čita: stranice, sesije, korpe i ograničenja učestalosti.

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

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

Keširanje: vaše stranice i podaci, servirani iz memorije

Strategija je cache-aside: prvi zahtev čita iz PostgreSQL-a i čuva rezultat u Redis-u sa TTL-om (vremenom života); naredni zahtevi ga uzimaju direktno iz memorije. Kada uredite stranicu, ključ se eksplicitno briše — nikada ne serviramo zastarele podatke preko slepog TTL-a.

Za prezentacioni sajt ili prodavnicu to znači da se liste proizvoda, meniji, popularne stranice i fragmenti sadržaja isporučuju iz memorije, bez opterećivanja baze podataka. Pri vrhuncima (kampanja, Black Friday) Redis apsorbuje ponovljene zahteve.

  • Cache-aside sa eksplicitnom invalidacijom — bez zastarelih podataka
  • Pamti fragmente stranica i rezultate upita, a ne samo cele stranice
  • Štiti PostgreSQL pri vrhuncima saobraćaja, skraćujući vreme odgovora

Sesije, korpa za kupovinu i zaštita od zloupotrebe

Korisničke sesije i refresh tokeni nalaze se u Redis-u: automatsko isticanje preko TTL-a i opoziv na svim uređajima kada se neko odjavi ili promeni lozinku.

Korpa za kupovinu u prodavnicama izgrađenim na 4buildsite-u čuva se u Redis-u za neprijavljene posetioce — sa isticanjem, bez naduvavanja glavne baze. Redis takođe primenjuje rate limiting na kontakt formulare i prijavu, koristeći sorted set-ove, kako bi zaustavio spam i pokušaje grube sile pre nego što stignu do baze podataka.

  • Skladište sesija sa automatskim isticanjem i selektivnim opozivom tokena
  • Trajna korpa sa TTL-om za anonimne posetioce
  • Rate limiting i zaštita od zloupotrebe na formularima i autentifikaciji

Realno vreme i redovi poslova u pozadini

Redis Pub/Sub i Streams pokreću ažuriranja u realnom vremenu: zaliha koja se smanjuje uživo, obaveštenje u aplikaciji, status porudžbine koji se menja — sve to bez osvežavanja stranice od strane posetioca i bez ponovljenog polling-a koji zamara server.

Teški zadaci (obrada slike, generisanje izvoza, sinhronizacija) ulaze u Redis red i izvršavaju ih worker-i u pozadini, kako se zahtev posetioca ne bi zadržavao na tim poslovima. Mehanizam distribuiranog zaključavanja garantuje da se kritična operacija ne izvršava dvaput.

  • Pub/Sub i Streams za događaje uživo (zalihe, porudžbine, obaveštenja)
  • Redovi poslova za teške obrade koje se izvršavaju asinhrono
  • Distribuirano zaključavanje za operacije koje se ne smeju izvršiti dvaput

Prednosti i ograničenja

Prednosti

  • Keširani podaci se čitaju iz memorije
  • Drastično smanjuje opterećenje PostgreSQL-a pri velikom saobraćaju
  • Nativne strukture za sesije, korpu, rate limiting i rang liste
  • Pub/Sub i Streams za funkcije u realnom vremenu, bez polling-a
  • Redovi poslova za teške obrade, bez blokiranja posetioca
  • Uključen i pod upravom platforme — nula podešavanja za vas

Ograničenja

  • Podaci stoje u RAM-u, koji je skuplji od diska → nije za ogromne količine „hladnih“ podataka
  • To je keš / pomoćni sloj, a ne izvor istine — trajni podaci ostaju u PostgreSQL-u
  • Trajnost (RDB/AOF) smanjuje, ali ne eliminiše potpuno rizik od gubitka poslednjih sekundi pri padu
  • Zahteva ispravnu strategiju invalidacije, inače može servirati zastarele podatke

Kratak zaključak

Koristite Redis za sve što se često čita — keširanje, sesije, korpu, rate limiting, realno vreme i redove poslova. Ne koristite ga kao glavno skladište podataka; za to ostaje PostgreSQL. Na 4buildsite-u imate obe, automatski usklađene: ne morate da birate niti da podešavate bilo šta.

Tabela specifikacija

MogućnostDetaljGde se koristi u builder-u
Latencija< 1 ms (in-memory)Stranice i podaci se čitaju iz memorije
Propusnost> 100.000 ops/s po čvoruVeliki saobraćaj bez pada baze
Strukture podatakastring, hash, list, set, sorted set, streamSesije, korpa, rang liste, redovi, rate limiting
TrajnostSnapshot RDB + AOF logOporavak posle restarta (RDB/AOF)
IsticanjeTTL po ključuKorpa, sesije i keš sa automatskim čišćenjem
Realno vremePub/Sub + StreamsZalihe uživo, obaveštenja, status porudžbine

Redis (keš) naspram samo baze podataka

KriterijumSa Redis-omSamo PostgreSQL
Vreme odgovora za ponovljene podatkeispod 1 ms, iz memorijedesetine ms, upit pri svakom zahtevu
Pri velikom saobraćajubaza zaštićena, lako se skalirabaza se zagušuje, rizik od timeout-a
Korpa i sesijesa automatskim isticanjemtabele koje rastu i opterećuju bazu
Realno vremenativni Pub/Sub i Streamsponovljeni polling, skup
Redovi poslovanativni, jednostavni za korišćenjeimprovizovana rešenja ili ih nema

Često postavljana pitanja

Šta je Redis, ukratko?

In-memory baza podataka, koja se koristi kao sloj keša, sesija i realnog vremena ispred glavne baze. Podatke čuva u RAM-u, a ne na disku.

Zašto ne koristite samo PostgreSQL?

PostgreSQL je izvor istine (trajni podaci), ali Redis servira ponovljene podatke iz memorije i preuzima korpu, sesije, rate limiting i realno vreme, štiteći bazu pri velikom saobraćaju. Njih dvoje rade zajedno.

Da li gubim podatke ako Redis padne?

Ne sadržaj sajta: trajni podaci su u PostgreSQL-u. U Redis-u stoje samo keš i privremeni podaci, a RDB/AOF trajnost smanjuje gubitke. Restart Redis-a ne utiče na vaš objavljeni sajt.

Moram li ja da podešavam Redis?

Ne. Uključen je i pod upravom platforme 4buildsite; vi koristite funkcije u realnom vremenu bez ikakvog administriranja.

Kako Redis pomaže onlajn prodavnici?

Korpa za posetioce, keširane liste proizvoda, zalihe ažurirane uživo i zaštita od zloupotrebe na checkout-u i formularima — sve bez opterećenja baze podataka.

Da li Redis pomaže SEO-u i Core Web Vitals?

Da, posredno: kraće vreme odgovora servera može da utiče na TTFB i Core Web Vitals, signale koji su važni i za Google i za korisničko iskustvo.

4b2b.net
Poslovni ekosistem
4conta.ro
Računovodstvo
4invoices.net
Aplikacija za fakturisanje
4expenses.net
Upravljanje troškovima
4notify.net
Obaveštenja
4hosting.net
Hosting
4database.net
Baze podataka
4buildsite.net
Izrada sajtova
4myapp.net
Izrada aplikacija
4avatars.net
AI avatari
4chaty.net
AI čatbot
4webagency.net
Softver za veb agencije
4softedu.net
Sajtovi za obrazovanje
4softcrm.net
CRM platforma
4softerp.net
ERP sistem
4softhr.net
Upravljanje HR-om
4mystaff.net
Portal osoblja
4myprojects.net
Menadžer projekata
4mycontracts.net
Ugovori
4docs.net
Upravljanje dokumentima
4appointments.net
Zakazivanje
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 lepote
4gym.net
Teretane
4guards.net
Firme obezbeđenja
4softvet.net
Ветеринарске амбуланте
4softauto.net
Софтвер за ауто-бизнис
4construct.net
Građevinske firme
4marketplace.net
Marketplejs
4shopy.net
Onlajn prodavnica
4pricing.net
Poređenje cena
4salefood.net
Dostava hrane
4rentify.net
Iznajmljivanje
4transports.net
Transport
4agencytravel.net
Turistička agencija
4hotel.net
Upravljanje hotelima
4ong.net
Upravljanje NVO