Valkey - Przewodnik na start
Valkey to wydajny, otwartoźródłowy magazyn danych działający w pamięci operacyjnej (in-memory) będący forkiem Redis, kompatybilnym ze wszystkimi klientami i bibliotekami Redis. Jest powszechnie wykorzystywany jako pamięć podręczna (cache), magazyn sesji, kolejka wiadomości oraz do analityki czasu rzeczywistego. Ten serwer zawiera w pełni skonfigurowany Valkey z hasłem, które zostało podane podczas składania zamówienia.
Krok 1 – Sprawdzenie działania Valkey
Adres IP serwera oraz hasło użytkownika root znajdują się w sekcji Informacje o serwerze na karcie Przegląd w panelu klienta. Połącz się z serwerem przez SSH i użyj valkey-cli, aby sprawdzić, czy usługa działa:
ssh root@your.server.ip valkey-cli -a your_passwordPodstawowe polecenia pozwalające sprawdzić poprawność działania:
# Test połączenia PING # Oczekiwany wynik: PONG # Zapis i odczyt wartości SET mykey „Hello Valkey” GET mykey # Informacje o serwerze INFO serverValkey jest usługą backendową i nie wymaga publicznego dostępu z Internetu. Dla większego bezpieczeństwa umieść serwer w sieci prywatnej za routerem VyOS i łącz się przez VPN, korzystając z prywatnego adresu IP serwera.
Krok 2 – Połączenie z aplikacji
Valkey akceptuje połączenia zdalne na porcie 6379. Jest w pełni kompatybilny z klientami Redis, dlatego możesz użyć dowolnej biblioteki Redis w swojej aplikacji:
| Parametr | Wartość |
|---|---|
| Host | your.server.ip |
| Port | 6379 |
| Hasło | your_password (z zamówienia) |
Format ciągu połączenia:
redis://default:your_password@your.server.ip:6379Przykład – Python:
import redis r = redis.Redis(host=’your.server.ip’, port=6379, password=’your_password’) r.set(’key’, 'value’) print(r.get(’key’))Przykład – Node.js:
const Redis = require(’ioredis’); const client = new Redis({ host: 'your.server.ip’, port: 6379, password: 'your_password’ });Uwaga: Port 6379 wykorzystuje protokół Valkey/Redis i nie może zostać otwarty w przeglądarce. Użyj biblioteki klienta lub programu valkey-cli.
Krok 3 – Połączenie za pomocą narzędzia graficznego (opcjonalnie)
Do zarządzania serwerem Valkey możesz użyć dowolnego narzędzia graficznego kompatybilnego z Redis:
- Another Redis Desktop Manager (ARDM) – darmowy, wieloplatformowy
- Redis Commander – interfejs WWW na licencji MIT
- Medis – macOS
Użyj tych samych parametrów połączenia co w Kroku 2 (host, port 6379, hasło).
Typowe zastosowania
Pamięć podręczna (Cache)
Użyj Valkey jako warstwy pamięci podręcznej dla swojej aplikacji internetowej, aby zmniejszyć obciążenie bazy danych:
# Zapisz wartość z czasem wygaśnięcia 1 godzina (3600 sekund) SET page:home „<html>…” EX 3600 # Sprawdź pozostały czas życia TTL page:homePrzechowywanie sesji
Przechowuj sesje użytkowników w Valkey, aby zapewnić szybki dostęp z wielu serwerów aplikacyjnych:
# Zapis danych sesji (hash) HSET session:abc123 user_id 42 role admin EXPIRE session:abc123 1800 # Odczyt sesji HGETALL session:abc123Kolejka wiadomości
Użyj list Valkey jako prostej kolejki wiadomości:
# Producent: dodaj zadania do kolejki LPUSH tasks '{„type”:”email”,”to”:”user@example.com”}’ # Konsument: oczekuj na zadania i przetwarzaj je BRPOP tasks 0Po instalacji
Fail2Ban – Ochrona przed atakami brute-force
Serwer jest dostarczany z prekonfigurowanym Fail2Ban, który chroni SSH przed atakami typu brute-force.
| Reguła | Maks. liczba prób | Czas blokady |
|---|---|---|
| SSH | 5 nieudanych logowań | 10 minut |
Przydatne polecenia:
# Sprawdź zablokowane adresy IP fail2ban-client status sshd # Odblokowanie adresu IP fail2ban-client set sshd unbanip 1.2.3.4Jeśli przypadkowo zablokujesz sobie dostęp, połącz się z serwerem przez konsolę VNC w panelu klienta i odblokuj swój adres IP.
Zarządzanie usługą
Valkey działa jako usługa systemd. Najczęściej używane polecenia:
# Sprawdź status usługi systemctl status valkey-server # Uruchom ponownie Valkey systemctl restart valkey-server # Wyświetl logi Valkey journalctl -u valkey-server -n 100Optymalizacja wydajności
Valkey jest automatycznie optymalizowany podczas pierwszego uruchomienia. Aby sprawdzić bieżące ustawienia:
valkey-cli -a your_password INFO memory valkey-cli -a your_password CONFIG GET maxmemory valkey-cli -a your_password CONFIG GET maxmemory-policyAby zmienić limit pamięci (np. na 2 GB):
valkey-cli -a your_password CONFIG SET maxmemory 2gb valkey-cli -a your_password CONFIG REWRITEDostępne polityki usuwania danych: allkeys-lru (domyślna), volatile-lru, allkeys-lfu, noeviction. Użyj noeviction, jeśli zamiast usuwać klucze po zapełnieniu pamięci Valkey ma zwracać błędy.
Trwałość danych
Domyślnie Valkey zapisuje dane na dysku za pomocą migawek RDB. Dane pozostają zachowane po ponownym uruchomieniu serwera. Aby sprawdzić stan mechanizmu trwałości:
valkey-cli -a your_password INFO persistenceAby włączyć AOF (Append Only File), zapewniający większą trwałość danych:
valkey-cli -a your_password CONFIG SET appendonly yes valkey-cli -a your_password CONFIG REWRITEAOF zapisuje każdą operację modyfikującą dane. W połączeniu z migawkami RDB zapewnia najwyższy poziom ochrony danych.
Zmiana hasła
Aby zmienić hasło Valkey:
valkey-cli -a current_password CONFIG SET requirepass new_password valkey-cli -a new_password CONFIG REWRITEZaktualizuj plik /root/.valkey_credentials, aby zachować nowe hasło.
Dane dostępowe
Dane dostępowe do Valkey są przechowywane w pliku /root/.valkey_credentials.
Wstępna konfiguracja
- Dostęp zdalny: Valkey akceptuje połączenia z dowolnego adresu IP na porcie 6379 (wymagane hasło)
- maxmemory: automatycznie ustawione na 75% dostępnej pamięci RAM podczas pierwszego uruchomienia
- Polityka usuwania danych: allkeys-lru – po osiągnięciu limitu pamięci usuwane są najdłużej nieużywane klucze
- Trwałość danych: migawki RDB są domyślnie włączone (automatyczne zapisy stanu bazy na dysku)
- Optymalizacja systemu: parametry vm.overcommit_memory, somaxconn oraz Transparent Huge Pages zostały dostosowane do pracy z Valkey
Zainstalowane oprogramowanie
| Komponent | Wersja |
|---|---|
| Ubuntu | 24.04 LTS |
| Valkey | 7.2 |
| Fail2Ban | 1.0 |
Rozwiązywanie problemów
| Problem | Rozwiązanie |
|---|---|
| Nie można połączyć się z Valkey zdalnie | Sprawdź, czy port 6379 nie jest blokowany przez zaporę sieciową. Zweryfikuj ustawienie bind 0.0.0.0 w pliku /etc/valkey/valkey.conf |
| NOAUTH Authentication required | Podaj hasło: valkey-cli -a your_password lub AUTH your_password. Sprawdź plik /root/.valkey_credentials |
| OOM command not allowed | Osiągnięto limit pamięci. Zwiększ wartość maxmemory lub zmień politykę usuwania danych. Sprawdź wykorzystanie pamięci: valkey-cli -a pass INFO memory |
| Valkey nie uruchamia się | Sprawdź logi: journalctl -u valkey-server -n 50. Najczęstsze przyczyny: nieprawidłowa konfiguracja lub pełny dysk (df -h /) |
| Nie pamiętam hasła do Valkey | Połącz się przez SSH i sprawdź plik /root/.valkey_credentials |
| Adres IP został zablokowany przez Fail2Ban | Połącz się przez konsolę VNC w panelu klienta i odblokuj swój adres IP |
| Nie pamiętam hasła użytkownika root | Użyj konsoli VNC w panelu klienta, aby zresetować hasło |