Valkey: Używanie z Ruby
Jak połączyć Valkey z Ruby
👋 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 open-source'owa baza danych w pamięci, zaprojektowana dla wyjątkowej wydajności i elastyczności. Powstała jako fork Redis po przyjęciu bardziej restrykcyjnej licencji, oferując w pełni open-source'ową alternatywę. Zapewnia bezproblemową kompatybilność z bibliotekami Redis, co czyni ją doskonałym zamiennikiem dla projektów, które wcześniej polegały na Redis.
Często określana jako baza danych NoSQL, Valkey obsługuje szeroki zakres struktur danych, takich jak ciągi, hashe, listy, zbiory i zbiory uporządkowane, między innymi. Dzięki operacjom o wysokiej prędkości i zdolności do obsługi dużych wolumenów danych, Valkey stała się popularnym wyborem dla zastosowań takich jak caching, analityka w czasie rzeczywistym, przesyłanie wiadomości i inne.
Valkey integruje się bezproblemowo z Ruby i Ruby on Rails, zwiększając wydajność, skalowalność i elastyczność. Programiści Ruby mogą wykorzystać Valkey do implementacji funkcji takich jak caching, zarządzanie sesjami, przetwarzanie danych w czasie rzeczywistym i obsługa zadań w tle, między innymi.
Oto kilka powszechnych sposobów wykorzystania Valkey z Ruby i Ruby on Rails:
-
Caching: Valkey może służyć jako warstwa cache w aplikacjach Rails, przyspieszając czasy odpowiedzi i zmniejszając obciążenie bazy danych.
-
Przetwarzanie zadań w tle: Valkey może działać jako backend dla popularnych bibliotek przetwarzania zadań w tle, takich jak Sidekiq i Resque, poprawiając wydajność i niezawodność zadań w tle w aplikacjach Rails.
-
Funkcje w czasie rzeczywistym: Funkcjonalność Pub/Sub Valkey umożliwia aplikacjom Rails dostarczanie funkcji w czasie rzeczywistym, takich jak powiadomienia, systemy czatu i analityka w czasie rzeczywistym, ułatwiając szybkie i efektywne przesyłanie wiadomości między komponentami aplikacji.
Stackhero oferuje gotowe do użycia rozwiązanie Ruby cloud, które zapewnia wiele korzyści, w tym:
- Wdrażaj swoją aplikację w kilka sekund za pomocą prostego
git push.- Używaj własnej nazwy domeny i korzystaj z automatycznej konfiguracji certyfikatów HTTPS dla zwiększonego bezpieczeństwa.
- Ciesz się spokojem dzięki automatycznym kopiom zapasowym, aktualizacjom jednym kliknięciem i prostemu, przejrzystemu oraz przewidywalnemu cennikowi.
- Uzyskaj optymalną wydajność i solidne bezpieczeństwo dzięki prywatnej i dedykowanej VM.
Oszczędzaj czas i upraszczaj swoje życie: wypróbowanie rozwiązania Ruby cloud hosting Stackhero zajmuje tylko 5 minut!
Konfigurowanie Valkey jako systemu cache dla Ruby on Rails
Aby skonfigurować Valkey jako system cache w Ruby on Rails, wykonaj następujące kroki:
- Zainstaluj gem
redis:
bundle add redis
- Edytuj plik
config/environments/production.rbi dodaj następującą konfigurację:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- Zdefiniuj zmienną środowiskową
VALKEY_URL. Użyj URL w następującym formacie, zastępując<yourPassword>i<XXXXXX>swoimi danymi:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Więcej szczegółów na temat konfigurowania Valkey jako systemu cache dla Ruby on Rails można znaleźć w oficjalnej dokumentacji Rails tutaj.
Konfigurowanie Valkey z Sidekiq
Sidekiq automatycznie użyje serwera Valkey zdefiniowanego przez zmienną środowiskową REDIS_URL.
Możesz ustawić zmienną środowiskową REDIS_URL w ten sposób, zastępując <password> i <XXXXXX> swoimi danymi:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Domyślnie Sidekiq jest skonfigurowany w sposób, który nie toleruje żadnych zakłóceń sieciowych. Aby to poprawić, sugerujemy modyfikację konfiguracji klienta Sidekiq w config/initializers/sidekiq.rb, aby zwiększyć stabilność:
# Plik config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Ustaw timeout na 5 sekund
pool_timeout: 5, # Ustaw timeout na 5 sekund
reconnect_attempts: Array.new(240, 0.5) # Próbuj ponownie połączyć się 240 razy, co 0,5 sekundy (120 sekund/2 minuty łącznie) przed zgłoszeniem błędu
}
end
Ta konfiguracja zapewnia, że jeśli serwer Valkey stanie się niedostępny, klient podejmie próby ponownego połączenia przez 2 minuty przed zgłoszeniem błędu. Daje to czas na ponowne uruchomienie serwera Valkey, na przykład. W zależności od użycia Sidekiq, możesz dostosować to ustawienie, aby lepiej odpowiadało Twoim specyficznym wymaganiom.
Więcej informacji na temat Sidekiq i Valkey można znaleźć w oficjalnej dokumentacji tutaj.
Konfigurowanie Valkey z Resque
Aby używać Valkey z Resque, ustaw zmienną środowiskową REDIS_URL w następujący sposób, zastępując <yourPassword> i <XXXXXX> swoimi danymi:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque automatycznie użyje serwera Valkey określonego w zmiennej środowiskowej REDIS_URL.
Więcej informacji na temat używania Resque z Valkey można znaleźć w dokumentacji Resque tutaj.