Redis je extrémne rýchla databáza typu NoSQL, ktorá funguje ako databáza, cache a message broker. Názov pochádza z anglického REmote DIctionary Server.
Používa sa hlavne na:
• Ukladanie dočasných (cache) dát
• Spracovanie reálnych údajov v pamäti
• Rýchle operácie typu kľúč → hodnota
• Prácu s frontami, čakacími radmi, počítadlami a session
⸻
🔧 Základné vlastnosti Redis:
⚡ 1. Rýchlosť
Redis beží v operačnej pamäti (RAM) → je oveľa rýchlejší ako tradičné databázy na disku (napr. MySQL).
🧠 2. Ukladá rôzne dátové typy
Redis neukladá len texty, ale aj:
• reťazce (string)
• zoznamy (list)
• množiny (set)
• hash mapy (napr. objekt user)
• zoradené množiny (sorted set)
• bitmapy, hyperloglogy, atď.
🔁 3. Podpora TTL (Time to Live)
Vieš nastaviť, že dáta expirujú po čase – ideálne na cache alebo session management.
📡 4. Podpora Pub/Sub
Redis umožňuje komunikáciu medzi aplikáciami cez publish/subscribe systém – využiteľné v reálnom čase (napr. chaty, notifikácie).
⸻
🧪 Príklad použitia:
1. Uloženie hodnoty:
SET meno “Janko”
2. Získanie hodnoty:
GET meno
# Výsledok: “Janko”
3. Expirácia:
SET kód “123456” EX 60
# Hodnota vyprší za 60 sekúnd
⸻
📦 Kde sa Redis používa?
Použitie Príklad
Cache Ukladanie výsledkov databázových dotazov, API odpovedí
Session storage Napr. v PHP/Laravel, Node.js alebo Django
Fronty a čakacie rady Laravel queue, Celery, Sidekiq
Rate limiting Obmedzenie počtu požiadaviek za sekundu
Chaty a hry Reakcie v reálnom čase pomocou Pub/Sub
⸻
❗ Redis ≠ klasická databáza
Redis nepoužíva relačné tabuľky ani SQL. Dáta drží v pamäti a ukladá ich voliteľne na disk.
⸻
✅ Zhrnutie:
Redis je rýchla, pamäťová databáza, ideálna pre dočasné dáta, cache a aplikácie v reálnom čase.