redis | remote dictionary server | logo | 2026.

Redis (Remote Dictionary Server) | Memorijski sustav koji podatke dohvaća iznimno brzo

Redis, čije ime dolazi od izraza Remote Dictionary Server, jedan je od poznatijih sustava za pohranu podataka koji se temelji prvenstveno na radu s memorijom računala. Za razliku od klasičnih baza podataka koje velik dio podataka čuvaju na disku, Redis podatke drži u RAM-u, zbog čega im može pristupati vrlo brzo. Upravo je brzina jedan od glavnih razloga njegove popularnosti. Redis se može koristiti kao baza podataka, predmemorija, posrednik za poruke i sustav za obradu podataka u stvarnom vremenu pa se danas koristi u vrlo različitim vrstama aplikacija.

Projekt Redis započeo je 2009. godine, a razvio ga je talijanski programer Salvatore Sanfilippo, poznat pod online nadimkom “antirez“. A ideja je nastala iz praktičnog problema. Naime, Sanfilippo je radio na sustavu za analizu web zapisa u stvarnom vremenu i tražio način kako povećati njegovu skalabilnost. Prva inačica nastala je kao prototip napisan u programskom jeziku Tcl, a projekt je kasnije prebačen u C. Nakon što se pokazao korisnim u stvarnom radu, Redis je objavljen kao projekt otvorenog koda i postupno je počeo privlačiti sve više korisnika i programera.

Osnovni način rada Redisa prilično je jednostavan. Podaci se spremaju u obliku ključa i vrijednosti, odnosno key-value modelu. Program tako može, primjerice, pod određenim ključem spremiti određeni tekst, broj ili drugi podatak i kasnije ga vrlo brzo dohvatiti. Međutim, Redis nije ograničen samo na obične tekstualne vrijednosti. Podržava niz različitih struktura, među kojima su stringovi, hash tablice, liste, skupovi, sortirani skupovi i drugi tipovi podataka. Zahvaljujući tome programeri mogu određene operacije obavljati izravno nad strukturama koje Redis već razumije.

Velika prednost koju donosi Redis je brzina, ali upravo način rada s memorijom donosi i određeno ograničenje

Naime, RAM je znatno brži od klasične pohrane na disku, ali je također ograničen i skuplji po gigabajtu. Redis zato tradicionalno drži aktivni skup podataka u memoriji, dok se podaci prema potrebi mogu spremati i na disk. Sustav podržava različite načine trajnosti, uključujući stvaranje periodičnih snimki podataka i zapisivanje promjena u obliku dnevnika. Time se omogućuje ponovno učitavanje podataka nakon ponovnog pokretanja poslužitelja ili oporavka nakon određenih problema.

Redis se vrlo često koristi kao predmemorija, odnosno cache. Zamislimo web stranicu koja svaki put mora iz baze dohvatiti isti podatak koji se mijenja vrlo rijetko. Umjesto da se kod svakog posjeta ponovno pristupa sporijoj bazi podataka, aplikacija može rezultat privremeno spremiti u Redis. Sljedeći korisnik tada dobiva podatak iz memorije, bez ponavljanja cijelog postupka. Takav pristup može smanjiti opterećenje glavne baze i ubrzati aplikaciju. Redis se koristi i za sesije korisnika, brojače, privremene podatke, redove zadataka, sustave za razmjenu poruka i različite aplikacije koje moraju brzo reagirati.

Mogućnosti Redisa tijekom godina značajno su proširene

Sustav danas podržava replikaciju, visoku dostupnost, particioniranje i rad u klasterima, što omogućuje raspodjelu podataka i opterećenja između više poslužitelja. Redis se također koristi za streamove podataka i obradu događaja u stvarnom vremenu. Dodajmo, suvremene inačice podržavaju i JSON podatke te vektorske strukture povezane s pretraživanjem i aplikacijama umjetne inteligencije. Zbog toga Redis više nije samo jednostavan memorijski cache, nego se može koristiti kao važan dio složenih sustava koji moraju obrađivati velike količine podataka uz vrlo malo kašnjenje.

Zanimljiv je i razvoj Redisa kao projekta. Godinama je osnovni Redis bio distribuiran pod BSD licencom, no Redis Ltd. promijenio je licenciranje počevši s verzijom 7.4 tijekom 2024. godine. Nakon toga nastao je i Valkey, projekt koji je pokrenula Linux Foundation kao fork posljednje BSD-licencirane verzije Redisa. Redis je zatim od verzije 8.0 ponovno promijenio licenciranje i uveo AGPL kao jednu od dostupnih licenci. Ove promjene pokazale su da pitanje licence može imati velik utjecaj na razvoj popularnih infrastrukturnih projekata i na zajednicu koja ih koristi.

Danas se Redis može pronaći u vrlo različitim tehnološkim okruženjima. Može služiti kao pomoć tradicionalnoj relacijskoj bazi podataka, kao samostalna baza za određene vrste podataka ili kao međusloj između aplikacije i drugih sustava. Njegova najveća prednost ostaje mogućnost vrlo brzog rada s podacima u memoriji. A trajnost, replikacija i klasteriranje omogućuju korištenje i u ozbiljnim produkcijskim sustavima. Upravo kombinacija jednostavnog modela, velikog broja struktura podataka i brzog pristupa učinila je Redis jednim od važnijih alata moderne web infrastrukture.


VIDEO | What is Redis and What Does It Do?

Scroll to Top