Valkey: Utilizzo con Ruby

Come connettere Valkey con Ruby

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione Valkey cloud pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Interfaccia web UI Redis Commander inclusa.
  • Dimensione e trasferimenti di messaggi illimitati.
  • Aggiornamenti semplificati con un solo clic.
  • Prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplifica la tua vita: bastano 5 minuti per provare la soluzione Valkey cloud hosting di Stackhero!

Valkey è un database open-source in-memory progettato per prestazioni e flessibilità eccezionali. Derivato da Redis dopo l'adozione di una licenza più restrittiva, Valkey offre un'alternativa completamente open-source. Fornisce una compatibilità perfetta con le librerie Redis, rendendolo un eccellente sostituto per i progetti che in precedenza si affidavano a Redis.

Spesso definito come un database NoSQL, Valkey supporta una vasta gamma di strutture dati come stringhe, hash, liste, set e set ordinati, tra gli altri. Con le sue operazioni ad alta velocità e la capacità di gestire grandi volumi di dati, Valkey è diventato una scelta popolare per casi d'uso come caching, analisi in tempo reale, messaggistica e altro ancora.

Valkey si integra perfettamente con Ruby e Ruby on Rails, migliorando le prestazioni, la scalabilità e la flessibilità. Gli sviluppatori Ruby possono sfruttare Valkey per implementare funzionalità come caching, gestione delle sessioni, elaborazione dati in tempo reale e gestione dei lavori in background, tra gli altri.

Ecco alcuni modi comuni in cui Valkey viene utilizzato con Ruby e Ruby on Rails:

  1. Caching: Valkey può servire come livello di cache nelle applicazioni Rails, accelerando i tempi di risposta e riducendo il carico sul database.

  2. Elaborazione dei lavori in background: Valkey può operare come backend per librerie di elaborazione dei lavori in background popolari come Sidekiq e Resque, migliorando le prestazioni e l'affidabilità dei compiti in background nelle applicazioni Rails.

  3. Funzionalità in tempo reale: La funzionalità Pub/Sub di Valkey consente alle applicazioni Rails di fornire funzionalità in tempo reale come notifiche, sistemi di chat e analisi in tempo reale facilitando il passaggio rapido ed efficiente dei messaggi tra i componenti dell'applicazione.

Stackhero offre una soluzione cloud Ruby pronta all'uso che fornisce una serie di vantaggi, tra cui:

  • Distribuisci la tua applicazione in pochi secondi con un semplice git push.
  • Usa il tuo nome di dominio e beneficia della configurazione automatica dei certificati HTTPS per una sicurezza migliorata.
  • Goditi la tranquillità con backup automatici, aggiornamenti con un clic e una tariffazione semplice, trasparente e prevedibile.
  • Ottieni prestazioni ottimali e sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplificati la vita: ci vogliono solo 5 minuti per provare la soluzione cloud Ruby di Stackhero!

Per configurare Valkey come sistema di cache in Ruby on Rails, segui questi passaggi:

  1. Installa la gemma redis:
bundle add redis
  1. Modifica il file config/environments/production.rb e aggiungi la seguente configurazione:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
  1. Definisci la variabile d'ambiente VALKEY_URL. Usa un URL nel seguente formato, sostituendo <yourPassword> e <XXXXXX> con le tue credenziali:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Per ulteriori dettagli sulla configurazione di Valkey come sistema di cache per Ruby on Rails, potresti consultare la documentazione ufficiale di Rails qui.

Sidekiq utilizzerà automaticamente il server Valkey definito dalla variabile d'ambiente REDIS_URL.

Puoi impostare la variabile d'ambiente REDIS_URL in questo modo, sostituendo <password> e <XXXXXX> con le tue informazioni:

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

Di default, Sidekiq è configurato in modo da non tollerare alcuna interruzione di rete. Per migliorare questo aspetto, suggeriamo di modificare la configurazione del client Sidekiq in config/initializers/sidekiq.rb per aumentare la stabilità:

# File config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Imposta il timeout a 5 secondi
    pool_timeout: 5, # Imposta il timeout a 5 secondi
    reconnect_attempts: Array.new(240, 0.5) # Prova a riconnettersi 240 volte, ogni 0,5 secondi (120 secondi/2 minuti in totale) prima di generare un errore
  }
end

Questa configurazione garantisce che se il tuo server Valkey diventa non disponibile, il client tenterà di riprovare per una durata di 2 minuti prima di segnalare un errore. Questo dà al server Valkey il tempo di riavviarsi, per esempio. A seconda dell'uso di Sidekiq, puoi regolare questa impostazione per adattarla meglio alle tue esigenze specifiche.

Per ulteriori informazioni su Sidekiq e Valkey, puoi consultare la documentazione ufficiale qui.

Per utilizzare Valkey con Resque, imposta la variabile d'ambiente REDIS_URL come segue, sostituendo <yourPassword> e <XXXXXX> con le tue credenziali:

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

Resque utilizzerà automaticamente il server Valkey specificato nella variabile d'ambiente REDIS_URL.

Per ulteriori informazioni sull'utilizzo di Resque con Valkey, puoi fare riferimento alla documentazione di Resque qui.