Valkey - ghid de inițiere
Valkey este un depozit de date în memorie open-source, de înaltă performanță – un fork Redis compatibil cu toți clienții și bibliotecile Redis. Este folosit frecvent pentru cache, stocarea sesiunilor, cozi de mesaje și analiză în timp real. Serverul vine cu Valkey complet configurat, cu parola specificată la comandă.
Pasul 1 – Verificați funcționarea Valkey
Adresa IP și parola root a serverului sunt afișate pe pagina Server Details din panoul clientului. Conectați-vă la server prin SSH și folosiți valkey-cli pentru a verifica dacă serviciul rulează:
ssh root@your.server.ip
valkey-cli -a your_password
Comenzi de bază pentru a verifica dacă totul funcționează:
# Test connection
PING
# Expected: PONG
# Store and retrieve a value
SET mykey "Hello Valkey"
GET mykey
# Check server info
INFO server
Valkey este un serviciu backend și nu are nevoie de acces public la internet. Pentru acces securizat, plasați serverul într-o rețea privată în spatele unui router VyOS și conectați-vă prin VPN la Valkey pe IP-ul privat al serverului.
Pasul 2 – Conectarea din aplicație
Valkey acceptă conexiuni la distanță pe portul 6379. Este complet compatibil cu clienții Redis – folosiți orice bibliotecă Redis în aplicație:
| Parametru | Valoare |
|---|---|
| Gazdă | your.server.ip |
| Port | 6379 |
| Parolă | your_password (din comandă) |
Formatul șirului de conectare:
redis://default:your_password@your.server.ip:6379
Exemplu – Python:
import redis
r = redis.Redis(host='your.server.ip', port=6379, password='your_password')
r.set('key', 'value')
print(r.get('key'))
Exemplu – Node.js:
const Redis = require('ioredis');
const client = new Redis({
host: 'your.server.ip',
port: 6379,
password: 'your_password'
});
Notă: Portul 6379 este protocolul Valkey/Redis – nu poate fi deschis în browser. Folosiți o bibliotecă client sau valkey-cli.
Pasul 3 – Conectarea cu un instrument grafic (opțional)
Puteți folosi orice instrument grafic compatibil Redis pentru a administra serverul Valkey:
- Another Redis Desktop Manager (ARDM) – gratuit, multiplatformă
- Redis Commander – web, licență MIT
- Medis – macOS
Folosiți aceleași date de conectare de la Pasul 2 (host, portul 6379, parola).
Cazuri de utilizare comune
Cache
Folosiți Valkey ca strat de cache pentru aplicația web, pentru a reduce încărcarea bazei de date:
# Set a value with 1 hour expiration (3600 seconds)
SET page:home "<html>..." EX 3600
# Check remaining time to live
TTL page:home
Stocarea sesiunilor
Stocați sesiunile utilizatorilor în Valkey pentru acces rapid pe mai multe servere de aplicații:
# Store session data (hash)
HSET session:abc123 user_id 42 role admin
EXPIRE session:abc123 1800
# Retrieve session
HGETALL session:abc123
Coadă de mesaje
Folosiți listele Valkey ca o coadă simplă de mesaje:
# Producer: add tasks to queue
LPUSH tasks '{"type":"email","to":"user@example.com"}'
# Consumer: wait for and process tasks
BRPOP tasks 0
După instalare
Fail2Ban – protecție împotriva atacurilor brute-force
Serverul dumneavoastră include Fail2Ban preconfigurat pentru a proteja SSH împotriva atacurilor brute-force.
| Regulă | Încercări maxime | Durata blocării |
|---|---|---|
| SSH | 5 autentificări eșuate | 10 minute |
Comenzi utile:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
Dacă vă blocați accidental, conectați-vă prin consola VNC din panoul clientului și deblocați-vă IP-ul.
Administrarea serviciilor
Valkey rulează prin systemd. Comenzi uzuale:
# Check service status
systemctl status valkey-server
# Restart Valkey
systemctl restart valkey-server
# View Valkey logs
journalctl -u valkey-server -n 100
Optimizarea performanței
Valkey este optimizat automat la prima pornire. Pentru a verifica setările curente:
valkey-cli -a your_password INFO memory
valkey-cli -a your_password CONFIG GET maxmemory
valkey-cli -a your_password CONFIG GET maxmemory-policy
Pentru a ajusta maxmemory (de ex. la 2 GB):
valkey-cli -a your_password CONFIG SET maxmemory 2gb
valkey-cli -a your_password CONFIG REWRITE
Politici de evacuare disponibile: allkeys-lru (implicit), volatile-lru, allkeys-lfu, noeviction. Folosiți noeviction dacă doriți ca Valkey să returneze erori în loc să elimine chei când memoria este plină.
Persistență
Implicit, Valkey salvează datele pe disc prin snapshot-uri RDB. Datele supraviețuiesc repornirii serverului. Pentru a verifica starea persistenței:
valkey-cli -a your_password INFO persistence
Pentru a activa AOF (Append Only File) pentru o persistență mai durabilă:
valkey-cli -a your_password CONFIG SET appendonly yes
valkey-cli -a your_password CONFIG REWRITE
AOF înregistrează fiecare operațiune de scriere. Combinat cu RDB, oferă cea mai fiabilă protecție a datelor.
Schimbarea parolei
Pentru a schimba parola Valkey:
valkey-cli -a current_password CONFIG SET requirepass new_password
valkey-cli -a new_password CONFIG REWRITE
Actualizați /root/.valkey_credentials cu noua parolă, pentru referință.
Datele de acces la server
Datele de acces Valkey sunt stocate în /root/.valkey_credentials.
Ce este preconfigurat
- Acces la distanță: Valkey acceptă conexiuni de la orice IP pe portul 6379 (parolă obligatorie)
- maxmemory: Setat automat la 75% din RAM-ul disponibil la prima pornire
- Politica de evacuare: allkeys-lru – cheile folosite cel mai demult sunt eliminate la atingerea limitei de memorie
- Persistență: Snapshot-uri RDB activate implicit (backup-uri automate pe disc)
- Optimizarea sistemului: vm.overcommit_memory, somaxconn și Transparent Huge Pages optimizate pentru Valkey
Software inclus
| Componentă | Versiune |
|---|---|
| Ubuntu | 24.04 LTS |
| Valkey | 7.2 |
| Fail2Ban | 1.0 |
Depanare
| Problemă | Soluție |
|---|---|
| Nu se poate conecta la Valkey de la distanță | Verificați că portul 6379 nu este blocat de firewall. Verificați bind 0.0.0.0 în /etc/valkey/valkey.conf |
| NOAUTH Authentication required | Furnizați parola: valkey-cli -a your_password sau AUTH your_password. Verificați /root/.valkey_credentials |
| OOM command not allowed | Limita de memorie a fost atinsă. Măriți maxmemory sau schimbați politica de evacuare. Verificați utilizarea: valkey-cli -a pass INFO memory |
| Valkey nu pornește | Verificarea logurilor: journalctl -u valkey-server -n 50. Cauză frecventă: configurație invalidă sau disc plin (df -h /) |
| Ați uitat parola Valkey | Conectați-vă prin SSH și verificați /root/.valkey_credentials |
| Blocat de Fail2Ban | Deblocați-vă IP-ul prin consola VNC din panoul clientului |
| Ați uitat parola root | Resetați-o prin consola VNC din panoul clientului |