Valkey - pradžios vadovas
Valkey yra atvirojo kodo didelio našumo duomenų saugykla atmintyje – Redis atšaka, suderinama su visais Redis klientais ir bibliotekomis. Dažniausiai naudojama podėliui, sesijoms saugoti, pranešimų eilėms ir realaus laiko analitikai. Šiame serveryje Valkey visiškai sukonfigūruotas su slaptažodžiu, kurį nurodėte užsakydami.
1 žingsnis – Patikrinkite, ar Valkey veikia
Jūsų serverio IP adresas ir root slaptažodis nurodyti kliento skydelio puslapyje Server Details. Prisijunkite prie serverio per SSH ir naudodami valkey-cli patikrinkite, ar paslauga veikia:
ssh root@your.server.ip
valkey-cli -a your_password
Pagrindinės komandos patikrinti, ar viskas veikia:
# Test connection
PING
# Expected: PONG
# Store and retrieve a value
SET mykey "Hello Valkey"
GET mykey
# Check server info
INFO server
Valkey yra backend paslauga, jai vieša interneto prieiga nereikalinga. Saugiai prieigai patalpinkite serverį privačiame tinkle už VyOS maršrutizatoriaus ir prie Valkey junkitės per VPN privačiu serverio IP.
2 žingsnis – Prisijungimas iš jūsų programos
Valkey priima nuotolinius prisijungimus per 6379 prievadą. Jis visiškai suderinamas su Redis klientais – programoje naudokite bet kurią Redis biblioteką:
| Parametras | Reikšmė |
|---|---|
| Mazgas | your.server.ip |
| Prievadas | 6379 |
| Slaptažodis | your_password (iš užsakymo) |
Prisijungimo eilutės formatas:
redis://default:your_password@your.server.ip:6379
Pavyzdys – Python:
import redis
r = redis.Redis(host='your.server.ip', port=6379, password='your_password')
r.set('key', 'value')
print(r.get('key'))
Pavyzdys – Node.js:
const Redis = require('ioredis');
const client = new Redis({
host: 'your.server.ip',
port: 6379,
password: 'your_password'
});
Pastaba: 6379 prievadas yra Valkey/Redis protokolas – naršyklėje jo atidaryti negalima. Naudokite kliento biblioteką arba valkey-cli.
3 žingsnis – Prisijungimas grafiniu įrankiu (neprivaloma)
Valkey serveriui valdyti galite naudoti bet kurį su Redis suderinamą grafinį įrankį:
- Another Redis Desktop Manager (ARDM) – nemokamas, daugiaplatformis
- Redis Commander – žiniatinklio, MIT licencija
- Medis – macOS
Naudokite tuos pačius prisijungimo duomenis kaip 2 žingsnyje (host, 6379 prievadas, slaptažodis).
Dažni naudojimo atvejai
Podėlis
Naudokite Valkey kaip žiniatinklio programos podėlio sluoksnį, kad sumažintumėte duomenų bazės apkrovą:
# Set a value with 1 hour expiration (3600 seconds)
SET page:home "<html>..." EX 3600
# Check remaining time to live
TTL page:home
Sesijų saugojimas
Saugokite naudotojų sesijas Valkey, kad jos būtų greitai pasiekiamos keliuose programų serveriuose:
# Store session data (hash)
HSET session:abc123 user_id 42 role admin
EXPIRE session:abc123 1800
# Retrieve session
HGETALL session:abc123
Pranešimų eilė
Naudokite Valkey sąrašus kaip paprastą pranešimų eilę:
# Producer: add tasks to queue
LPUSH tasks '{"type":"email","to":"user@example.com"}'
# Consumer: wait for and process tasks
BRPOP tasks 0
Po įdiegimo
Fail2Ban – apsauga nuo slaptažodžių spėjimo atakų
Jūsų serveryje įdiegta Fail2Ban iš anksto sukonfigūruotas apsaugoti SSH nuo slaptažodžių spėjimo atakų.
| Taisyklė | Maks. bandymų | Blokavimo trukmė |
|---|---|---|
| SSH | 5 nesėkmingi prisijungimai | 10 minučių |
Naudingos komandos:
# Check banned IPs
fail2ban-client status sshd
# Unban an IP
fail2ban-client set sshd unbanip 1.2.3.4
Jei netyčia užsiblokavote, prisijunkite per VNC konsolę kliento skydelyje ir atblokuokite savo IP.
Paslaugų valdymas
Valkey veikia per systemd. Dažnos komandos:
# Check service status
systemctl status valkey-server
# Restart Valkey
systemctl restart valkey-server
# View Valkey logs
journalctl -u valkey-server -n 100
Našumo derinimas
Valkey per pirmąjį paleidimą suderinamas automatiškai. Dabartinius nustatymus patikrinsite taip:
valkey-cli -a your_password INFO memory
valkey-cli -a your_password CONFIG GET maxmemory
valkey-cli -a your_password CONFIG GET maxmemory-policy
Norėdami pakeisti maxmemory (pvz., į 2 GB):
valkey-cli -a your_password CONFIG SET maxmemory 2gb
valkey-cli -a your_password CONFIG REWRITE
Galimos išstūmimo politikos: allkeys-lru (numatytoji), volatile-lru, allkeys-lfu, noeviction. Naudokite noeviction jei norite, kad Valkey, prisipildžius atminčiai, grąžintų klaidas, o ne šalintų raktus.
Duomenų išsaugojimas
Pagal numatytuosius nustatymus Valkey duomenis įrašo į diską RDB momentinėmis kopijomis. Duomenys išlieka paleidus serverį iš naujo. Išsaugojimo būseną patikrinsite taip:
valkey-cli -a your_password INFO persistence
Norėdami įjungti AOF (Append Only File) patikimesniam išsaugojimui:
valkey-cli -a your_password CONFIG SET appendonly yes
valkey-cli -a your_password CONFIG REWRITE
AOF registruoja kiekvieną rašymo operaciją. Kartu su RDB tai suteikia patikimiausią duomenų apsaugą.
Slaptažodžio keitimas
Norėdami pakeisti Valkey slaptažodį:
valkey-cli -a current_password CONFIG SET requirepass new_password
valkey-cli -a new_password CONFIG REWRITE
Atnaujinkite /root/.valkey_credentials nauju slaptažodžiu informacijai.
Serverio prisijungimo duomenys
Valkey prisijungimo duomenys saugomi /root/.valkey_credentials.
Kas sukonfigūruota iš anksto
- Nuotolinė prieiga: Valkey priima prisijungimus iš bet kurio IP per 6379 prievadą (reikalingas slaptažodis)
- maxmemory: Per pirmąjį paleidimą automatiškai nustatoma į 75 % turimos RAM
- Išstūmimo politika: allkeys-lru – pasiekus atminties limitą šalinami seniausiai naudoti raktai
- Išsaugojimas: RDB momentinės kopijos įjungtos pagal numatytuosius nustatymus (automatinės būsenos kopijos į diską)
- Sistemos derinimas: vm.overcommit_memory, somaxconn ir Transparent Huge Pages optimizuoti Valkey
Įdiegta programinė įranga
| Komponentas | Versija |
|---|---|
| Ubuntu | 24.04 LTS |
| Valkey | 7.2 |
| Fail2Ban | 1.0 |
Trikčių šalinimas
| Problema | Sprendimas |
|---|---|
| Nepavyksta nuotoliniu būdu prisijungti prie Valkey | Patikrinkite, ar ugniasienė neblokuoja 6379 prievado. Patikrinkite bind 0.0.0.0 faile /etc/valkey/valkey.conf |
| NOAUTH Authentication required | Pateikite slaptažodį: valkey-cli -a your_password arba AUTH your_password. Patikrinkite /root/.valkey_credentials |
| OOM command not allowed | Pasiektas atminties limitas. Padidinkite maxmemory arba pakeiskite išstūmimo politiką. Patikrinkite naudojimą: valkey-cli -a pass INFO memory |
| Valkey nepasileidžia | Žurnalų tikrinimas: journalctl -u valkey-server -n 50. Dažna priežastis: netinkama konfigūracija arba pilnas diskas (df -h /) |
| Pamiršote Valkey slaptažodį | Prisijunkite per SSH ir patikrinkite /root/.valkey_credentials |
| Užblokavo Fail2Ban | Atblokuokite savo IP per VNC konsolę kliento skydelyje |
| Pamiršote root slaptažodį | Atkurkite jį per VNC konsolę kliento skydelyje |