Що встановлено на вашому сервері Redis?
- Redis Open Source з офіційного репозиторію Redis, остання версія на момент встановлення
- Обов’язковий пароль, заданий через requirepass і згенерований під час встановлення
- Увімкнене збереження AOF (appendonly yes)
- Віддалені підключення на порту 6379
- Параметр vm.overcommit_memory = 1, який радить документація Redis
- Брандмауер із відкритими лише портами 22 і 6379, плюс fail2ban для SSH
Який розмір потрібен для Redis?
Redis тримає всі дані в RAM, тож розмір даних визначає розмір сервера. У документації з адміністрування фіксованої цифри немає, але вона застерігає, що інтенсивно записуваний екземпляр може використовувати до вдвічі більше звичайної пам’яті під час збереження файлу RDB чи перезапису AOF. Орієнтовно: 1 ГБ підходить для невеликого кешу чи сховища сесій, а для більших даних обирайте RAM приблизно вдвічі більшу за їхній обсяг. Якщо цього замало, збільште розмір у панелі; дані та IP-адреса лишаться тими самими.
| Використання | Розмір | Ціна | Обрати |
|---|---|---|---|
| Стартовий | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/міс. | |
| Середній | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/міс. | |
| Потужний | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/міс. |
Кому підійде?
- Кілька серверів застосунків, яким потрібне спільне сховище кешу чи сесій
- Черги Laravel, Django, Rails чи Node.js, що переходять на власний Redis
- Застосунки зі структурами в пам’яті, як-от pub/sub, лічильники чи таблиці лідерів
- Розробники, яким потрібен віддалений Redis для розробки й тестування
Що буде після замовлення?
- Задайте розмір і завершіть оплату.
- Ваш сервер запускається, і Redis встановлюється сам. На вкладці «Огляд» дочекайтеся, поки в рядку «Застосунок» з’явиться, що Redis готовий.
- Скопіюйте рядки «Адреса підключення» та «Пароль». Рядка «Логін» немає, бо пароль належить типовому користувачу Redis.
- Перевірте з’єднання: redis-cli -h IP -a PASSWORD ping
- Передайте застосунку рядок підключення: redis://:PASSWORD@IP:6379/0
- Якщо ви використовуєте його як кеш, задайте maxmemory-policy allkeys-lru, а потім обмежте порт 6379 власними адресами.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- Порт 6379 відкритий в інтернет і без TLS, тож пароль і дані йдуть незашифрованими. Обмежте його: ufw delete allow 6379/tcp, потім ufw allow from YOUR_IP to any port 6379.
- Під час встановлення maxmemory задається приблизно на три чверті RAM. Досягнувши ліміту, Redis відмовляється від нових записів. Якщо змінюєте розмір сервера, збільште значення в /etc/redis/redis.conf.
- Redis 8 і новіші розповсюджуються за RSALv2, SSPLv1 або AGPLv3. Якщо плануєте пропонувати Redis іншим як послугу, прочитайте умови.
- Redis надходить зі свого репозиторію й сам не оновлюється. Нові версії ви встановлюєте через apt.
Redis: запитання й відповіді
Як підключитися до сервера Redis?
Ваш рядок підключення — redis://:PASSWORD@IP:6379/0. З командного рядка виконайте redis-cli -h IP -a PASSWORD. Підключення без пароля отримує помилку NOAUTH, тож кожна віддалена команда має спершу пройти автентифікацію.
Скільки RAM потрібно Redis?
Скільки RAM потрібно Redis, визначає розмір ваших даних, і фіксованої офіційної цифри немає. Орієнтовно: 1 ГБ — початок для невеликого кешу чи сховища сесій. На інтенсивно записуваному екземплярі пам’ять під час збережень може подвоїтися, тож обирайте RAM приблизно вдвічі більшу за дані.
Чи втрачає Redis дані під час перезапуску?
Ні. У цьому встановленні в Redis увімкнено збереження AOF, тож кожен запис дописується на диск, а після перезапуску дані повертаються з цього файлу. Типова політика fsync спрацьовує раз на секунду, тож у разі несподіваної відмови можна втратити щонайбільше записи за останню секунду.
Що буде, коли в Redis закінчиться пам’ять?
Це встановлення задає maxmemory приблизно на три чверті RAM, і на межі Redis відмовляється від нових записів. Для кешу додайте maxmemory-policy allkeys-lru до /etc/redis/redis.conf і виконайте systemctl restart redis-server. Тоді на межі Redis сам витісняє старі ключі.
Чи зашифроване підключення до Redis?
Після встановлення підключення до Redis без TLS, тож пароль і дані йдуть незашифрованими. Обмежте доступ власною IP-адресою або відкрийте SSH-тунель командою ssh -L 6379:127.0.0.1:6379 root@IP. Застосунок на тому самому сервері підключається до 127.0.0.1, тож його трафік не залишає машину.
Чи можна створити для застосунку окремого користувача Redis?
Так, через ACL Redis. Наприклад: ACL SETUSER uygulama on >STRONG_PASSWORD allkeys +@all -@dangerous. Потім збережіть це у файл налаштувань командою CONFIG REWRITE. Рядок підключення стане redis://uygulama:STRONG_PASSWORD@IP:6379/0.