Skip to content
VDS · Бази даних

Redis: кеш і черги

Встановлення Redis на VDS, пароль і прив'язка до локальної адреси, ліміт пам'яті та політика витіснення, а також різниця між кешем і чергою.

Оновлено 23 серпня 2026 р.

Redis тримає дані в пам'яті, тому його використовують для кешування, сесій, лічильників і черг завдань. На VPS він корисний рівно доти, доки вміщується в пам'ять: робочий набір, більший за вільну пам'ять, — це вже не прискорення, а причина падінь.

Встановлення

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

Відповідь PONG означає, що сервер працює.

Обов'язкова конфігурація

Файл /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

Сканери знаходять Redis без пароля, відкритий в інтернет, за лічені хвилини й використовують його для майнінгу. Якщо ваш застосунок на тій самій машині, залиште bind 127.0.0.1 і не відкривайте порт 6379 назовні. Якщо потрібен зовнішній доступ, використовуйте лише SSH-тунель або VPN.

Пам'ять і витіснення

Задайте maxmemory явно: без цього Redis зростає, доки система не почне вбивати процеси. Розумно віддати йому чверть пам'яті тарифу.

ТарифПам'ять машиниmaxmemory
VDS-12 GB256 MB
VDS-24 GB512 MB
VDS-38 GB1–2 GB
VDS-524 GB4–6 GB

Політика залежить від ролі:

  • кеш — allkeys-lru, старі ключі витісняються непомітно;
  • черга завдань — noeviction, втрачати завдання неприпустимо, краще помилка запису.

Не змішуйте кеш і чергу в одній базі саме через цю суперечність. Розділіть їх на різні номери баз (SELECT 1) або на два екземпляри.

Збереження на диск

За замовчуванням Redis періодично скидає знімок у dump.rdb. Для чистого кешу це зайвий запис на диск — вимкніть save. Для черг увімкніть appendonly yes: так завдання не загубляться після перезавантаження машини.

Майте на увазі, що швидкість запису на диск обмежена тарифом: 60 MB/s на ядро, не нижче за 60 і не вище за 400 MB/s.

Моніторинг

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

Ключова метрика — evicted_keys: постійне зростання означає, що пам'яті не вистачає і кеш не окупається.

Типові помилки

СимптомПричина
NOAUTH Authentication requiredЗастосунку не передали пароль
OOM command not allowedДосягнуто maxmemory за політики noeviction
DENIED Redis is running in protected modeЗовнішній доступ за bind 127.0.0.1 — так і задумано
Дані зникли після перезавантаженняНе увімкнено збереження
Машина пішла у swapСума maxmemory та інших сервісів перевищує пам'ять тарифу

Не використовуйте KEYS * на робочому сервері: команда блокує Redis, поки перебирає всі ключі. Для перебору використовуйте SCAN.