Valkey: Premiers pas

Guide rapide pour débuter avec Valkey

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution Valkey cloud prête à l'emploi qui offre de nombreux avantages, notamment :

  • Interface web Redis Commander incluse.
  • Taille et transferts de messages illimités.
  • Mises à jour simplifiées en un clic.
  • Performance optimale et sécurité renforcée 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 en mémoire puissante et extrêmement rapide, basée sur Redis. Lorsque Redis a abandonné le modèle open-source, Valkey a vu le jour grâce à la communauté et à plusieurs entreprises, offrant ainsi une alternative open-source robuste. Il s'intègre parfaitement avec les bibliothèques Redis, ce qui en fait un remplacement idéal et transparent.

Valkey est polyvalent et répond à de nombreux besoins : il peut servir de système de cache, de base de données clé/valeur, faciliter le tri de données en temps réel ou agir comme une file d'attente publish/subscribe, à la manière d'un système d'événements.

Pour vous aider à vous connecter à une instance Valkey, nous avons préparé quelques exemples de code. N'hésitez pas à les consulter dans le dépôt Git suivant : https://github.com/stackhero-io/valkeyGettingStarted.

Pour commencer, vous pouvez installer la gem redis avec cette commande :

bundle add redis

Ensuite, ouvrez le fichier config/environments/production.rb et ajoutez la ligne suivante :

config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }

Vous devrez ensuite définir la variable d'environnement VALKEY_URL. Voici un exemple de format d'URL à adapter avec vos informations :

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

Par défaut, le cache n'est activé que dans l'environnement de production. Si vous souhaitez tester le cache en développement, modifiez le fichier config/environments/development.rb en ajoutant la configuration ci-dessus, puis définissez config.action_controller.perform_caching = true pour activer le cache. Une bonne façon de vérifier que le cache fonctionne est de lancer une console Rails (avec bin/rails console) et de tester l'écriture avec Rails.cache.write("foo", "bar").

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.

Sidekiq utilisera automatiquement le serveur Valkey configuré dans la variable d'environnement REDIS_URL.

Vous pouvez définir la variable d'environnement REDIS_URL avec vos informations comme suit :

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

Pour en savoir plus sur l'utilisation de Sidekiq avec Valkey, vous pouvez consulter la documentation officielle ici.

Resque utilisera automatiquement le serveur Valkey défini dans la variable d'environnement REDIS_URL.

Vous pouvez définir la variable d'environnement REDIS_URL avec vos informations comme suit :

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

Pour plus d'informations sur l'utilisation de Resque avec Valkey, vous pouvez consulter la documentation officielle ici.

Vous pouvez utiliser le code suivant pour stocker les sessions PHP sur Stackhero for Valkey :

<?php

// Analyse de l'URL Valkey
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');

// Configuration du gestionnaire de session
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");

// Démarrage de la session
session_start();

?>

Renforcer la sécurité de votre installation Valkey est essentiel. Voici deux mesures importantes à mettre en place pour maximiser la sécurité.

Par défaut, Valkey ne chiffre pas les communications. Cependant, sur Stackhero, le chiffrement TLS est activé par défaut.

Pour en profiter, il suffit de configurer votre client Valkey pour utiliser le chiffrement TLS et de vous connecter à votre instance en utilisant le port <PORT_TLS>, au lieu du port non chiffré <PORT_CLEAR>.

Bonne nouvelle, vous n'avez aucune configuration supplémentaire à prévoir, tout est déjà prêt pour vous.

Votre instance Valkey est protégée par un mot de passe fort, généré automatiquement par Stackhero. Si vous choisissez de le modifier, assurez-vous qu'il soit extrêmement complexe.

Valkey est très rapide et, malheureusement, ne propose pas de protection native contre les attaques par force brute. Un attaquant pourrait tenter jusqu'à 150 000 combinaisons de mots de passe par seconde.

Pour limiter ce risque, les mots de passe doivent comporter au moins 16 caractères (4.5231285e+74 possibilités), et par défaut, nous définissons un mot de passe de 64 caractères (9.61963e+111 possibilités !).

Pour renforcer encore la sécurité et bloquer efficacement les tentatives de force brute, il est recommandé de configurer le firewall Stackhero (accessible dans l'onglet "Firewall") afin de restreindre les connexions uniquement à vos adresses IP. C'est une étape essentielle qui renforcera considérablement votre sécurité !