Skip to content
VDS · Baze podataka

Redis: keš i redovi

Instaliranje Redis-a na VDS, lozinka i vezivanje na lokalnu adresu, ograničenje memorije i politika izbacivanja, kao i razlika između keša i reda.

Ažurirano 23. avgust 2026.

Redis drži podatke u memoriji, zato se koristi za keširanje, sesije, brojače i redove zadataka. Na VPS-u je koristan tačno onoliko koliko se uklapa u memoriju: radni set veći od slobodne memorije više nije ubrzanje, već uzrok padova.

Instalacija

apt update && apt install -y redis-server        # Debian, Ubuntu
dnf install -y redis                             # AlmaLinux, CentOS Stream
systemctl enable --now redis-server
redis-cli ping

Odgovor PONG znači da server radi.

Obavezna konfiguracija

Datoteka /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

Skeneri pronađu Redis bez lozinke izložen internetu za nekoliko minuta i iskoriste ga za rudarenje. Ako ti je aplikacija na istoj mašini, zadrži bind 127.0.0.1 i ne izlaži port 6379 spolja. Ako ti je potreban spoljni pristup, koristi samo SSH tunel ili VPN.

Memorija i izbacivanje

Postavi maxmemory eksplicitno: bez toga Redis raste dok sistem ne počne da ubija procese. Razumno je dati mu četvrtinu memorije paketa.

PaketMemorija mašinemaxmemory
VDS-12 GB256 MB
VDS-24 GB512 MB
VDS-38 GB1–2 GB
VDS-524 GB4–6 GB

Politika zavisi od uloge:

  • keš — allkeys-lru, stari ključevi se tiho izbacuju;
  • red zadataka — noeviction, gubitak zadatka je neprihvatljiv, greška pri upisu je bolja.

Ne mešaj keš i red u jednoj bazi upravo zbog te protivrečnosti. Razdvoji ih u različite brojeve baza (SELECT 1) ili u dve instance.

Trajnost na disku

Podrazumevano Redis povremeno upisuje snimak u dump.rdb. Za čist keš to je nepotrebno pisanje na disk — isključi save. Za redove uključi appendonly yes: tako se zadaci neće izgubiti posle restarta mašine.

Imaj u vidu da je brzina upisa na disk ograničena paketom: 60 MB/s po jezgru, ne niže od 60 i ne više od 400 MB/s.

Nadzor

redis-cli -a 'password' info memory
redis-cli -a 'password' info stats
redis-cli -a 'password' --stat
redis-cli -a 'password' slowlog get 10

Ključna metrika je evicted_keys: stalni rast znači da nema dovoljno memorije i da se keš ne isplati.

Česte greške

SimptomUzrok
NOAUTH Authentication requiredAplikaciji nije data lozinka
OOM command not allowedDostignut maxmemory uz politiku noeviction
DENIED Redis is running in protected modeSpoljni pristup uz bind 127.0.0.1 — tako i treba
Podaci su nestali posle restartaTrajnost nije uključena
Mašina je otišla u swapZbir maxmemory i ostalih servisa prevazilazi memoriju paketa

Ne koristi KEYS * na produkcionom serveru: komanda blokira Redis dok prolazi kroz sve ključeve. Za iteraciju koristi SCAN.