Valkey: Utilisation avec Ruby
Comment connecter Valkey avec Ruby
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Valkey cloud prête à l'emploi offrant de nombreux avantages, notamment :
- Interface web UI
Redis Commanderincluse.- Taille et transferts de messages illimités.
- Mises à jour simplifiées en un clic.
- Performance optimale et sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Valkey cloud hosting de Stackhero !
Valkey est une base de données open-source en mémoire conçue pour des performances et une flexibilité exceptionnelles. Dérivé de Redis après l'adoption d'une licence plus restrictive, Valkey offre une alternative entièrement open-source. Il assure une compatibilité parfaite avec les bibliothèques Redis, ce qui en fait un excellent remplacement pour les projets qui utilisaient auparavant Redis.
Souvent qualifié de base de données NoSQL, Valkey prend en charge une large gamme de structures de données telles que les chaînes, les hachages, les listes, les ensembles et les ensembles triés, entre autres. Avec ses opérations à grande vitesse et sa capacité à gérer de grands volumes de données, Valkey est devenu un choix populaire pour des cas d'utilisation comme le caching, l'analyse en temps réel, la messagerie, et plus encore.
Valkey s'intègre parfaitement avec Ruby et Ruby on Rails, améliorant les performances, la scalabilité et la flexibilité. Les développeurs Ruby peuvent exploiter Valkey pour implémenter des fonctionnalités comme le caching, la gestion de session, le traitement de données en temps réel et la gestion des tâches en arrière-plan, entre autres.
Voici quelques façons courantes d'utiliser Valkey avec Ruby et Ruby on Rails :
-
Caching : Valkey peut servir de couche de cache dans les applications Rails, accélérant les temps de réponse et réduisant la charge sur la base de données.
-
Traitement des tâches en arrière-plan : Valkey peut fonctionner comme un backend pour des bibliothèques de traitement de tâches en arrière-plan populaires comme Sidekiq et Resque, améliorant la performance et la fiabilité des tâches en arrière-plan dans les applications Rails.
-
Fonctionnalités en temps réel : La fonctionnalité Pub/Sub de Valkey permet aux applications Rails de fournir des fonctionnalités en temps réel telles que les notifications, les systèmes de chat et l'analyse en temps réel en facilitant le passage rapide et efficace des messages entre les composants de l'application.
Stackhero offre une solution cloud Ruby prête à l'emploi qui propose de nombreux avantages, notamment :
- Déployez votre application en quelques secondes avec un simple
git push.- Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
- Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
- Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution cloud Ruby de Stackhero !
Configurer Valkey comme système de cache pour Ruby on Rails
Pour configurer Valkey comme système de cache dans Ruby on Rails, suivez ces étapes :
- Installez le gem
redis:
bundle add redis
- Modifiez le fichier
config/environments/production.rbet ajoutez la configuration suivante :
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- Définissez la variable d'environnement
VALKEY_URL. Utilisez une URL au format suivant, en remplaçant<yourPassword>et<XXXXXX>par vos identifiants :
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Pour plus de détails sur la configuration de Valkey comme système de cache pour Ruby on Rails, vous pouvez consulter la documentation officielle de Rails ici.
Configurer Valkey avec Sidekiq
Sidekiq utilisera automatiquement le serveur Valkey défini par la variable d'environnement REDIS_URL.
Vous pouvez définir la variable d'environnement REDIS_URL comme ceci, en remplaçant <password> et <XXXXXX> par vos informations :
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Par défaut, Sidekiq est configuré de manière à ne tolérer aucune perturbation réseau. Pour améliorer cela, nous vous suggérons de modifier la configuration du client Sidekiq dans config/initializers/sidekiq.rb pour renforcer la stabilité :
# Fichier config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Définir le timeout à 5 secondes
pool_timeout: 5, # Définir le timeout à 5 secondes
reconnect_attempts: Array.new(240, 0.5) # Essayer de se reconnecter 240 fois, toutes les 0,5 seconde (120 secondes/2 minutes au total) avant de déclencher une erreur
}
end
Cette configuration garantit que si votre serveur Valkey devient indisponible, le client tentera des réessais pendant une durée de 2 minutes avant de signaler une erreur. Cela donne au serveur Valkey le temps de redémarrer, par exemple. Selon l'utilisation de votre Sidekiq, vous pouvez ajuster ce paramètre pour mieux répondre à vos besoins spécifiques.
Pour plus d'informations sur Sidekiq et Valkey, vous pouvez consulter la documentation officielle ici.
Configurer Valkey avec Resque
Pour utiliser Valkey avec Resque, définissez la variable d'environnement REDIS_URL comme suit, en remplaçant <yourPassword> et <XXXXXX> par vos identifiants :
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque utilisera automatiquement le serveur Valkey spécifié dans la variable d'environnement REDIS_URL.
Pour plus d'informations sur l'utilisation de Resque avec Valkey, vous pouvez vous référer à la documentation de Resque ici.