Table of Contents

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 від підбору паролів.

Правило Макс. спроб Тривалість блокування
SSH5 невдалих входів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

Встановлене ПЗ

Компонент Версія
Ubuntu24.04 LTS
Valkey7.2
Fail2Ban1.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-консоль у клієнтській панелі