Valkey: Pierwsze kroki
Szybki przewodnik po rozpoczęciu pracy z Valkey
👋 Witamy w dokumentacji Stackhero!
Stackhero oferuje gotowe do użycia rozwiązanie Valkey cloud, które zapewnia wiele korzyści, w tym:
- Włączony web UI
Redis Commander.- Nieograniczony rozmiar wiadomości i transfery.
- Bezproblemowe aktualizacje za jednym kliknięciem.
- Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i uprość sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie Valkey cloud hosting Stackhero!
Valkey to potężna i niezwykle szybka baza danych w pamięci, oparta na Redis. Gdy Redis odszedł od modelu open-source, Valkey wyłonił się z inicjatywy społeczności i kilku firm jako solidna alternatywa open-source. Bezproblemowo integruje się z bibliotekami Redis, co czyni go idealnym zamiennikiem.
Valkey jest wszechstronny i może służyć wielu celom: może działać jako system pamięci podręcznej, baza danych klucz/wartość, ułatwiać sortowanie danych w czasie rzeczywistym lub działać jako kolejka publish/subscribe podobna do systemu zdarzeń.
Aby pomóc w połączeniu się z instancją Valkey, przygotowaliśmy kilka przykładów kodu. Zachęcamy do zapoznania się z nimi w następującym repozytorium Git: https://github.com/stackhero-io/valkeyGettingStarted.
Używanie Valkey z Ruby i Ruby on Rails
Konfiguracja Valkey jako systemu pamięci podręcznej dla Ruby on Rails
Aby rozpocząć, można zainstalować gem redis za pomocą tej komendy:
bundle add redis
Następnie otwórz plik config/environments/production.rb i dodaj tę linię:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
Następnie musisz ustawić zmienną środowiskową VALKEY_URL. Oto przykład, jak sformatować URL z Twoimi informacjami:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Domyślnie pamięć podręczna jest włączona tylko w środowisku produkcyjnym. Jeśli chcesz przetestować pamięć podręczną w środowisku deweloperskim, zmodyfikuj plik
config/environments/development.rb, dodając powyższą konfigurację, i ustawconfig.action_controller.perform_caching = true, aby włączyć pamięć podręczną. Dobrym sposobem na sprawdzenie, czy pamięć podręczna działa, jest uruchomienie konsoli Rails (używającbin/rails console) i przetestowanie zapisu za pomocąRails.cache.write("foo", "bar").
Aby uzyskać bardziej szczegółowe informacje na temat konfigurowania Valkey jako systemu pamięci podręcznej dla Ruby on Rails, można zapoznać się z oficjalną dokumentacją Rails tutaj.
Konfiguracja Valkey na Sidekiq
Sidekiq automatycznie użyje serwera Valkey skonfigurowanego w zmiennej środowiskowej REDIS_URL.
Możesz ustawić zmienną środowiskową REDIS_URL z Twoimi informacjami w następujący sposób:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Aby uzyskać więcej informacji na temat używania Sidekiq z Valkey, można zapoznać się z oficjalną dokumentacją tutaj.
Konfiguracja Valkey na Resque
Resque automatycznie użyje serwera Valkey zdefiniowanego w zmiennej środowiskowej REDIS_URL.
Możesz ustawić zmienną środowiskową REDIS_URL z Twoimi informacjami w następujący sposób:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Aby uzyskać dodatkowe informacje na temat używania Resque z Valkey, można zapoznać się z oficjalną dokumentacją tutaj.
Obsługa sesji PHP z Valkey
Możesz użyć poniższego kodu, aby przechowywać sesje PHP na Stackhero dla Valkey:
<?php
// Parsowanie URL Valkey
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// Konfiguracja obsługi sesji
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// Rozpoczęcie sesji
session_start();
?>
Poprawa bezpieczeństwa Valkey
Zwiększenie bezpieczeństwa konfiguracji Valkey jest kluczowe. Oto dwa ważne środki, które można wdrożyć, aby zmaksymalizować bezpieczeństwo.
Szyfrowanie komunikacji z Valkey (TLS)
Domyślnie Valkey nie szyfruje komunikacji. Jednak na Stackhero szyfrowanie TLS jest dostępne od razu.
Aby skorzystać z tej funkcji, wystarczy skonfigurować klienta Valkey do używania szyfrowania TLS i połączyć się z instancją, używając portu <PORT_TLS>, zamiast nieszyfrowanego <PORT_CLEAR>.
Dobrą wiadomością jest to, że nie musisz martwić się o dodatkową konfigurację, wszystko przygotowaliśmy dla Ciebie.
Ochrona Valkey przed atakami brute force
Twoja instancja Valkey jest zabezpieczona silnym, automatycznie zdefiniowanym hasłem przez Stackhero. Jeśli zdecydujesz się je zmienić, upewnij się, że hasło jest niezwykle skomplikowane.
Valkey jest szybki i niestety nie ma wbudowanej ochrony przed atakami brute force. Atakujący mógłby potencjalnie próbować do 150 000 kombinacji haseł na sekundę.
Aby temu zapobiec, hasła muszą mieć co najmniej 16 znaków (4.5231285e+74 możliwości), a domyślnie ustawiamy hasło 64-znakowe (9.61963e+111 możliwości!).
Dla zwiększenia bezpieczeństwa i skutecznego przeciwdziałania próbom brute force, zaleca się skonfigurowanie zapory Stackhero (dostępnej w zakładce "Firewall") w celu ograniczenia połączeń tylko do Twoich adresów IP. To kluczowy krok, który znacznie wzmocni Twoje bezpieczeństwo!