Valkey: Gebruik met Ruby

Hoe Valkey verbinden met Ruby

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Valkey cloud oplossing met tal van voordelen, waaronder:

  • Redis Commander webinterface inbegrepen.
  • Onbeperkte berichtgrootte en overdrachten.
  • Moeiteloze updates met één klik.
  • Optimale prestaties en sterke beveiliging dankzij een privé, dedicated infrastructuur.

Bespaar tijd en maak het uzelf gemakkelijk: het kost slechts 5 minuten om de Valkey cloud hosting oplossing van Stackhero uit te proberen!

Valkey is een open-source, in-memory database die is ontworpen voor uitzonderlijke prestaties en flexibiliteit. Valkey is een fork van Redis nadat Redis een restrictievere licentie aannam, en biedt een volledig open-source alternatief. Het is volledig compatibel met Redis-libraries, waardoor het een uitstekende drop-in vervanger is voor projecten die eerder afhankelijk waren van Redis.

Valkey wordt vaak aangeduid als een NoSQL-database en ondersteunt een breed scala aan datastructuren zoals strings, hashes, lijsten, sets en gesorteerde sets, en meer. Dankzij de hoge snelheid van bewerkingen en het vermogen om grote hoeveelheden data te verwerken, is Valkey populair voor toepassingen zoals caching, real-time analytics, messaging en meer.

Valkey integreert moeiteloos met Ruby en Ruby on Rails, en verbetert zo de prestaties, schaalbaarheid en flexibiliteit. Ruby-ontwikkelaars kunnen Valkey inzetten voor functionaliteiten zoals caching, sessiebeheer, real-time dataverwerking en het afhandelen van background jobs, onder andere.

Hieronder vindt u enkele veelvoorkomende manieren waarop Valkey wordt gebruikt met Ruby en Ruby on Rails:

  1. Caching: Valkey kan dienen als cachinglaag in Rails-applicaties, waardoor responstijden versnellen en de belasting op de database afneemt.

  2. Background job processing: Valkey kan fungeren als backend voor populaire background job libraries zoals Sidekiq en Resque, wat de prestaties en betrouwbaarheid van background taken in Rails-applicaties verbetert.

  3. Real-time functionaliteiten: Dankzij de Pub/Sub-functionaliteit van Valkey kunnen Rails-applicaties real-time features bieden zoals notificaties, chatsystemen en real-time analytics, door snelle en efficiënte berichtuitwisseling tussen applicatiecomponenten mogelijk te maken.

Stackhero biedt een kant-en-klare Ruby cloud oplossing met tal van voordelen, waaronder:

  • Deploy uw applicatie binnen enkele seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor extra veiligheid.
  • Geniet van gemoedsrust dankzij automatische back-ups, one-click updates en een eenvoudige, transparante en voorspelbare prijsstelling.
  • Optimale performance en sterke beveiliging dankzij een private, dedicated infrastructuur.

Bespaar tijd en maak uw leven eenvoudiger: het kost slechts 5 minuten om Stackhero's Ruby cloud hosting oplossing uit te proberen!

Om Valkey als cache-systeem in Ruby on Rails te configureren, volgt u deze stappen:

  1. Installeer de redis gem:
bundle add redis
  1. Bewerk het bestand config/environments/production.rb en voeg de volgende configuratie toe:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
  1. Definieer de omgevingsvariabele VALKEY_URL. Gebruik een URL in het volgende formaat, waarbij u <yourPassword> en <XXXXXX> vervangt door uw eigen gegevens:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Voor meer details over het configureren van Valkey als cache-systeem voor Ruby on Rails, raadpleeg de officiële Rails-documentatie hier.

Sidekiq gebruikt automatisch de Valkey-server die is opgegeven in de omgevingsvariabele REDIS_URL.

U kunt de omgevingsvariabele REDIS_URL als volgt instellen, waarbij u <password> en <XXXXXX> vervangt door uw gegevens:

REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Standaard is Sidekiq zo geconfigureerd dat er geen tolerantie is bij netwerkstoringen. Om dit te verbeteren, adviseren wij om de Sidekiq-clientconfiguratie in config/initializers/sidekiq.rb aan te passen voor meer stabiliteit:

# Bestand config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Stel de timeout in op 5 seconden
    pool_timeout: 5, # Stel de timeout in op 5 seconden
    reconnect_attempts: Array.new(240, 0.5) # Probeer 240 keer opnieuw te verbinden, elke 0,5 seconde (in totaal 120 seconden/2 minuten) voordat er een foutmelding wordt gegeven
  }
end

Deze configuratie zorgt ervoor dat als uw Valkey-server niet beschikbaar is, de client gedurende 2 minuten pogingen doet om opnieuw te verbinden voordat er een fout wordt gemeld. Dit geeft bijvoorbeeld de Valkey-server de tijd om opnieuw op te starten. Afhankelijk van het gebruik van Sidekiq in uw applicatie kunt u deze instelling aanpassen aan uw specifieke behoeften.

Voor meer informatie over Sidekiq en Valkey kunt u de officiële documentatie hier raadplegen.

Om Valkey met Resque te gebruiken, stelt u de omgevingsvariabele REDIS_URL als volgt in, waarbij u <yourPassword> en <XXXXXX> vervangt door uw eigen gegevens:

REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Resque gebruikt automatisch de Valkey-server die is opgegeven in de omgevingsvariabele REDIS_URL.

Voor meer informatie over het gebruik van Resque met Valkey kunt u de Resque-documentatie hier raadplegen.