Table of Contents

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_password

Podstawowe 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 server

Valkey 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ść
Hostyour.server.ip
Port6379
Hasłoyour_password (z zamówienia)

Format ciągu połączenia:

redis://default:your_password@your.server.ip:6379

Przykł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:home

Przechowywanie 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:abc123

Kolejka 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 0

Po 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
SSH5 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.4

Jeś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 100

Optymalizacja 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-policy

Aby zmienić limit pamięci (np. na 2 GB):

valkey-cli -a your_password CONFIG SET maxmemory 2gb valkey-cli -a your_password CONFIG REWRITE

Dostę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 persistence

Aby 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 REWRITE

AOF 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 REWRITE

Zaktualizuj 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
Ubuntu24.04 LTS
Valkey7.2
Fail2Ban1.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