Valkey: Gebruik met Ruby

Hoe Valkey met Ruby te verbinden

👋 Welkom bij de Stackhero-documentatie!

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

  • Redis Commander web UI inbegrepen.
  • Onbeperkte berichtgrootte en overdrachten.
  • Moeiteloze updates met slechts één klik.
  • Optimale prestaties en robuuste beveiliging aangedreven door een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Valkey cloud hosting oplossing van Stackhero te proberen!

Valkey is een open-source, in-memory database ontworpen voor uitzonderlijke prestaties en flexibiliteit. Geforkt van Redis nadat het een restrictievere licentie aannam, biedt Valkey een volledig open-source alternatief. Het biedt naadloze compatibiliteit met Redis-bibliotheken, waardoor het een uitstekende vervanging is voor projecten die eerder op Redis vertrouwden.

Vaak aangeduid als een NoSQL-database, ondersteunt Valkey een breed scala aan datastructuren zoals strings, hashes, lijsten, sets en gesorteerde sets, onder andere. Met zijn snelle operaties en vermogen om grote hoeveelheden data te verwerken, is Valkey een populaire keuze geworden voor gebruiksscenario's zoals caching, real-time analytics, messaging en meer.

Valkey integreert moeiteloos met Ruby en Ruby on Rails, waardoor prestaties, schaalbaarheid en flexibiliteit worden verbeterd. Ruby-ontwikkelaars kunnen Valkey benutten om functies zoals caching, sessiebeheer, real-time dataverwerking en achtergrondtaakverwerking te implementeren, onder andere.

Hier zijn enkele veelvoorkomende manieren waarop Valkey wordt gebruikt met Ruby en Ruby on Rails:

  1. Caching: Valkey kan dienen als een cachinglaag in Rails-applicaties, waardoor responstijden worden versneld en de belasting van de database wordt verminderd.

  2. Achtergrondtaakverwerking: Valkey kan functioneren als een backend voor populaire achtergrondtaakverwerkingsbibliotheken zoals Sidekiq en Resque, waardoor de prestaties en betrouwbaarheid van achtergrondtaken in Rails-applicaties worden verbeterd.

  3. Real-time functies: Valkey's Pub/Sub-functionaliteit stelt Rails-applicaties in staat om real-time functies te bieden zoals meldingen, chatsystemen en real-time analytics door snelle en efficiënte berichtoverdracht tussen applicatiecomponenten te faciliteren.

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

  • Implementeer uw applicatie in seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
  • Geniet van gemoedsrust met automatische back-ups, one-click updates, en eenvoudige, transparante en voorspelbare prijzen.
  • Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het duurt slechts 5 minuten om de Ruby cloud hosting oplossing van Stackhero te proberen!

Om Valkey als cachesysteem 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 inloggegevens:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Voor meer details over het configureren van Valkey als cachesysteem voor Ruby on Rails, kunt u de officiële Rails-documentatie hier raadplegen.

Sidekiq zal automatisch de Valkey-server gebruiken die is gedefinieerd door de omgevingsvariabele REDIS_URL.

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

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

Standaard is Sidekiq zo geconfigureerd dat het geen tolerantie heeft tijdens netwerkstoringen. Om dit te verbeteren, raden we aan de Sidekiq-clientconfiguratie in config/initializers/sidekiq.rb aan te passen om de stabiliteit te verbeteren:

# 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 (120 seconden/2 minuten in totaal) voordat een fout wordt gegenereerd
  }
end

Deze configuratie zorgt ervoor dat als uw Valkey-server niet beschikbaar wordt, de client gedurende 2 minuten pogingen zal doen om opnieuw te verbinden voordat een fout wordt gemeld. Dit geeft de Valkey-server bijvoorbeeld de tijd om opnieuw op te starten. Afhankelijk van uw gebruik van Sidekiq kunt u deze instelling aanpassen om beter aan uw specifieke vereisten te voldoen.

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 inloggegevens:

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

Resque zal automatisch de Valkey-server gebruiken die is gespecificeerd in de omgevingsvariabele REDIS_URL.

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