Redis: cache a fronty
Inštalácia Redis na VDS, heslo a viazanie na lokálnu adresu, limit pamäte a politika vyraďovania a rozdiel medzi cache a frontou.
Aktualizované 23. augusta 2026
Redis drží dáta v pamäti, a preto sa používa na cache, sessions, počítadlá a fronty úloh. Na VPS je užitočný presne tak dlho, ako sa zmestí do pamäte: pracovná množina väčšia ako voľná pamäť už nie je zrýchlením, ale príčinou pádov.
Inštalácia
apt update && apt install -y redis-server # Debian, Ubuntu
dnf install -y redis # AlmaLinux, CentOS Stream
systemctl enable --now redis-server
redis-cli ping
Odpoveď PONG znamená, že server beží.
Povinná konfigurácia
Súbor /etc/redis/redis.conf:
bind 127.0.0.1
protected-mode yes
requirepass long-random-password
maxmemory 512mb
maxmemory-policy allkeys-lru
appendonly no
systemctl restart redis-server
redis-cli -a 'password' ping
Skenery nájdu Redis bez hesla vystavený do internetu v priebehu niekoľkých minút a použijú ho na ťažbu. Ak je tvoja aplikácia na tom istom stroji, nechaj bind 127.0.0.1 a nevystavuj port 6379 navonok. Ak potrebuješ prístup zvonka, použi výhradne SSH tunel alebo VPN.
Pamäť a vyraďovanie
Nastav maxmemory explicitne: bez neho Redis rastie, až kým systém nezačne zabíjať procesy. Rozumné je dať mu štvrtinu pamäte tarifu.
| Tarifa | Pamäť stroja | maxmemory |
|---|---|---|
| VDS-1 | 2 GB | 256 MB |
| VDS-2 | 4 GB | 512 MB |
| VDS-3 | 8 GB | 1–2 GB |
| VDS-5 | 24 GB | 4–6 GB |
Politika závisí od roly:
- cache —
allkeys-lru, staré kľúče sa potichu vyradia; - fronta úloh —
noeviction, strata úlohy je neprijateľná, chyba zápisu je lepšia.
Nemiešaj cache a frontu v jednej databáze práve pre tento rozpor. Oddeľ ich do rôznych čísel databáz (SELECT 1) alebo do dvoch inštancií.
Perzistencia na disk
Štandardne Redis pravidelne ukladá snímku do dump.rdb. Pre čistú cache je to zbytočné zapisovanie na disk — vypni save. Pre fronty zapni appendonly yes: takto sa úlohy nestratia po reštarte stroja.
Maj na pamäti, že rýchlosť zápisu na disk je obmedzená tarifou: 60 MB/s na jadro, nie menej ako 60 a nie viac ako 400 MB/s.
Monitorovanie
redis-cli -a 'password' info memory
redis-cli -a 'password' info stats
redis-cli -a 'password' --stat
redis-cli -a 'password' slowlog get 10
Kľúčová metrika je evicted_keys: neustály rast znamená, že pamäte je málo a cache sa nevypláca.
Časté chyby
| Príznak | Príčina |
|---|---|
NOAUTH Authentication required | Aplikácii nebolo zadané heslo |
OOM command not allowed | Dosiahnutá maxmemory s politikou noeviction |
DENIED Redis is running in protected mode | Prístup zvonka s bind 127.0.0.1 — to je zámer |
| Dáta po reštarte zmizli | Perzistencia nie je zapnutá |
| Stroj prešiel do swapu | Súčet maxmemory a ostatných služieb prevyšuje pamäť tarify |
Nepoužívaj
KEYS *na produkčnom serveri: príkaz blokuje Redis, kým prechádza všetky kľúče. Na iteráciu použiSCAN.