Čo je Redis?
Redis je veľmi ľahko použiteľné a pritom výkonné NoSQL in-memory key-value úložisko.
Čo to presne znamená?
- NoSQL - nejde o relačnú databázu, preto nie ste limitovaný žiadnou predpísanou štruktúrou dát a tak môžete ukladať akékoľvek štrukturované dáta
- in-memory - dáta sa ukladajú v operačnej pamäti servera, takže je práca s dátami extrémne rýchla
- key-value - dáta (value) zapisujete a aj čítate na základe kľúča (key), ktorý si zvolíte sami
Najbežnejšie použitie Redis
Najčastejšie sa Redis nepoužíva ako náhrada trvalého dátového úložiska ako sú relačné databázy SQL alebo NoSQL databázy. Využíva sa hlavne ako cache, medzikrok, medzi aplikáciou a dátovým úložiskom. Týmto spôsobom dokážete zrýchliť aj Vašu web stránku a tak získať náskok pred konkurenciou. Ak aplikácia potrebuje nejaké dáta, najskôr sa pozrie do Redis, či také dáta nemá uložené. Ak sú v Redis, tak si ich aplikácia "vyzdvihne". Ak sa tieto dáta v Redis nenachádzajú, aplikácia si ich vyžiada z trvalej databázy, pričom ich zároveň zapíše aj do Redis, aby boli pri budúcej požiadavke dostupné rýchlejšie priamo z Redis.
Ideálne je tento mechanizmus oddeliť logicky do samostatného servisu, ktorý tento výber a zápis zautomatizuje a tak aplikácia nemusí vôbec riešiť odkiaľ sa do nej dostanú dáta.
Sú dáta v Redis trvalé?
Závisí to od požiadaviek aplikácie. Najčastejšie sa Redis používa ako cache pre trvalé dáta uložené iným spôsobom. Nie je dôležité aby boli dáta trvale uložené na serveri, preto pri reštarte servera dôjde k vymazaniu pamäte a celý cyklus s čítaním a zápisom, spomínaný vyššie, sa zopakuje. Aplikácie obyčajne sami nastavujú čas exspirácie údajov v Redis, pretože majú obyčajne iba obmedzenú platnosť. Napríklad obsah tejto stránky, ktorú práve čítate server načítal z cache a najbližšiu hodinu sa bude načítavať z cache, pretože je málo pravdepodobné že sa za túto dobu zmení. Po hodine si web server načíta nový obsah z trvalého úložiska.
Ak sa dáta z Redisu majú ukladať trvale, je potrebné nastaviť Redis pre permanentné ukladanie dát. Vtedy sa údaje zapisujú podľa určených pravidiel na disk. Po reštarte Redis servera alebo celého servera, sa dáta načítajú späť do Redis.
Ako viem využiť Redis?
Využiť sa dá takmer vo všetkých programovacích jazykoch, keďže sa ale venujeme hlavne tvorbe webu, tak zhrnieme najbežnejšie spôsoby využitia Redis servera:
- PHP PECL Redis extension - ide o rozšírenie zabudované priamo do PHP. V HostCreators je zabudovaný redis štandardne do všetkých verzií PHP
- PHP Predis cez composer - je to knižnica, ktorú si viete nainštalovať pomocou composer príkazu do Vašej aplikácie, takže nie ste závislí od PECL rozšírenia priamo v PHP
- Redis pluginy pre WordPress - ak využívate tento OpenSource CMS systém, tak máte na výber z modulov, ktoré pracujú s objektovou cache: Redis Objec Cache, LiteSpeed Cache plugin.
LiteSpeed Cache plugin je ideálny cachovací plugin pre webstránky, ktoré bežia na OpenLietSpeed serveri, ktorý je u nás v HostCreators dostupný tak na zdieľanom hostingu, ako ja na vrituálnych serveroch.