Valkey — посібник для початку роботи
Valkey — високопродуктивне сховище даних у памʼяті з відкритим кодом, форк Redis, сумісний з усіма клієнтами й бібліотеками Redis. Його зазвичай використовують для кешування, зберігання сесій, черг повідомлень і аналітики в реальному часі. Сервер постачається з повністю налаштованим Valkey і паролем, вказаним під час замовлення.
Крок 1 — перевірте, що Valkey працює
IP-адресу сервера й пароль root показано на сторінці Server Details у клієнтській панелі. Підключіться до сервера через SSH і скористайтеся valkey-cli , щоб перевірити, що сервіс працює:
ssh root@your.server.ip
valkey-cli -a your_password
Базові команди для перевірки, що все працює:
# Test connection
PING
# Expected: PONG
# Store and retrieve a value
SET mykey "Hello Valkey"
GET mykey
# Check server info
INFO server
Valkey — бекенд-сервіс, і йому не потрібен публічний доступ з інтернету. Для безпечного доступу розмістіть сервер у приватній мережі за маршрутизатором VyOS і підключайтеся через VPN до Valkey за приватною IP сервера.
Крок 2 — підключення із застосунку
Valkey приймає віддалені підключення на порту 6379. Він повністю сумісний із клієнтами Redis — використовуйте у своєму застосунку будь-яку бібліотеку Redis:
| Параметр | Значення |
|---|---|
| Хост | your.server.ip |
| Порт | 6379 |
| Пароль | your_password (із замовлення) |
Формат рядка підключення:
redis://default:your_password@your.server.ip:6379
Приклад — Python:
import redis
r = redis.Redis(host='your.server.ip', port=6379, password='your_password')
r.set('key', 'value')
print(r.get('key'))
Приклад — Node.js:
const Redis = require('ioredis');
const client = new Redis({
host: 'your.server.ip',
port: 6379,
password: 'your_password'
});
Примітка: Порт 6379 — це протокол Valkey/Redis, відкрити його в браузері неможливо. Використовуйте клієнтську бібліотеку або valkey-cli.
Крок 3 — підключення через графічний інструмент (необовʼязково)
Для керування сервером Valkey можна використовувати будь-який графічний інструмент, сумісний з Redis:
- Another Redis Desktop Manager (ARDM) — безкоштовний, кросплатформний
- Redis Commander — вебінтерфейс, ліцензія MIT
- Medis — macOS
Використовуйте ті самі параметри підключення з кроку 2 (хост, порт 6379, пароль).
Типові сценарії використання
Кешування
Використовуйте Valkey як рівень кешу вебзастосунку, щоб зменшити навантаження на базу даних:
# Set a value with 1 hour expiration (3600 seconds)
SET page:home "<html>..." EX 3600
# Check remaining time to live
TTL page:home
Зберігання сесій
Зберігайте сесії користувачів у Valkey для швидкого доступу з кількох серверів застосунку:
# Store session data (hash)
HSET session:abc123 user_id 42 role admin
EXPIRE session:abc123 1800
# Retrieve session
HGETALL session:abc123
Черга повідомлень
Використовуйте списки Valkey як просту чергу повідомлень:
# Producer: add tasks to queue
LPUSH tasks '{"type":"email","to":"user@example.com"}'
# Consumer: wait for and process tasks
BRPOP tasks 0
Після встановлення
Fail2Ban — захист від підбору паролів
Сервер постачається з Fail2Ban , попередньо налаштованим для захисту SSH від підбору паролів.
| Правило | Макс. спроб | Тривалість блокування |
|---|---|---|
| SSH | 5 невдалих входів | 10 хвилин |
Корисні команди:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
Якщо ви випадково заблокували себе, підключіться через VNC-консоль у клієнтській панелі й розблокуйте свою IP.
Керування сервісами
Valkey працює через systemd. Типові команди:
# Check service status
systemctl status valkey-server
# Restart Valkey
systemctl restart valkey-server
# View Valkey logs
journalctl -u valkey-server -n 100
Налаштування продуктивності
Valkey автоматично налаштовується під час першого завантаження. Щоб перевірити поточні параметри:
valkey-cli -a your_password INFO memory
valkey-cli -a your_password CONFIG GET maxmemory
valkey-cli -a your_password CONFIG GET maxmemory-policy
Щоб змінити maxmemory (наприклад, на 2 ГБ):
valkey-cli -a your_password CONFIG SET maxmemory 2gb
valkey-cli -a your_password CONFIG REWRITE
Доступні політики витіснення: allkeys-lru (за замовчуванням), volatile-lru, allkeys-lfu, noeviction. Використовуйте noeviction , якщо хочете, щоб Valkey повертав помилки замість видалення ключів, коли памʼять заповнена.
Збереження даних
За замовчуванням Valkey зберігає дані на диск знімками RDB. Дані переживають перезапуск сервера. Щоб перевірити стан збереження:
valkey-cli -a your_password INFO persistence
Щоб увімкнути AOF (Append Only File) для надійнішого збереження:
valkey-cli -a your_password CONFIG SET appendonly yes
valkey-cli -a your_password CONFIG REWRITE
AOF записує кожну операцію запису. У поєднанні з RDB це забезпечує найнадійніший захист даних.
Зміна пароля
Щоб змінити пароль Valkey:
valkey-cli -a current_password CONFIG SET requirepass new_password
valkey-cli -a new_password CONFIG REWRITE
Оновіть /root/.valkey_credentials новим паролем для довідки.
Облікові дані сервера
Облікові дані Valkey зберігаються у /root/.valkey_credentials.
Що вже налаштовано
- Віддалений доступ: Valkey приймає підключення з будь-якої IP на порту 6379 (потрібен пароль)
- maxmemory: Автоматично встановлюється на 75% доступної RAM під час першого завантаження
- Політика витіснення: allkeys-lru — коли досягнуто ліміт памʼяті, видаляються ключі, що найдовше не використовувалися
- Збереження: Знімки RDB увімкнено за замовчуванням (автоматичні резервні копії на диск на момент часу)
- Системні налаштування: vm.overcommit_memory, somaxconn і Transparent Huge Pages оптимізовано для Valkey
Встановлене ПЗ
| Компонент | Версія |
|---|---|
| Ubuntu | 24.04 LTS |
| Valkey | 7.2 |
| Fail2Ban | 1.0 |
Усунення проблем
| Проблема | Рішення |
|---|---|
| Не вдається віддалено підключитися до Valkey | Перевірте, що порт 6379 не блокує файрвол. Перевірте bind 0.0.0.0 у /etc/valkey/valkey.conf |
| NOAUTH Authentication required | Вкажіть пароль: valkey-cli -a your_password або AUTH your_password. Перевірте /root/.valkey_credentials |
| OOM command not allowed | Досягнуто ліміт памʼяті. Збільште maxmemory або змініть політику витіснення. Перевірте використання: valkey-cli -a pass INFO memory |
| Valkey не запускається | Перевірте логи: journalctl -u valkey-server -n 50. Поширена причина — некоректна конфігурація або заповнений диск (df -h /) |
| Забули пароль Valkey | Підключіться через SSH і перевірте /root/.valkey_credentials |
| Заблоковано Fail2Ban | Розблокуйте свою IP через VNC-консоль у клієнтській панелі |
| Забули пароль root | Скиньте його через VNC-консоль у клієнтській панелі |