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 offrant de nombreux avantages, notamment :

  • Interface web UI Redis Commander incluse.
  • 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 en mémoire puissante et incroyablement rapide, basée sur Redis. Alors que Redis s'est éloigné du modèle open-source, Valkey a émergé de la communauté et de plusieurs entreprises comme une alternative open-source robuste. Il s'intègre parfaitement avec les bibliothèques Redis, ce qui en fait un remplacement idéal.

Valkey est polyvalent et peut servir à de multiples fins : il peut fonctionner comme un système de cache, une 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 similaire à 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 explorer dans le dépôt Git suivant : https://github.com/stackhero-io/valkeyGettingStarted.

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

bundle add redis

Ensuite, ouvrez le fichier config/environments/production.rb et incluez cette ligne :

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 formatage de l'URL 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, et 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 démarrer une console Rails (en utilisant bin/rails console) et de tester l'écriture avec Rails.cache.write("foo", "bar").

Pour plus d'informations détaillées 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 plus d'informations 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 des informations supplémentaires 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 pour Valkey :

<?php

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

// Configurer le gestionnaire de sessions
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émarrer la session
session_start();

?>

Renforcer la sécurité de votre configuration Valkey est crucial. Voici deux mesures importantes que vous pouvez mettre en œuvre pour maximiser la sécurité.

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

Pour tirer parti de cette fonctionnalité, configurez simplement votre client Valkey pour utiliser le chiffrement TLS et connectez-vous à votre instance en utilisant le port <PORT_TLS>, au lieu du port non chiffré <PORT_CLEAR>.

La bonne nouvelle est que vous n'avez pas à vous soucier d'une configuration supplémentaire, nous avons tout préparé pour vous.

Votre instance Valkey est protégée par un mot de passe fort, automatiquement prédéfini par Stackhero. Si vous décidez de le changer, assurez-vous que le mot de passe soit extrêmement complexe.

Valkey est rapide et, malheureusement, ne dispose pas de protection intégrée contre les attaques par force brute. Un attaquant pourrait potentiellement essayer jusqu'à 150 000 combinaisons de mots de passe par seconde.

Pour atténuer cela, 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 une sécurité accrue et pour contrer efficacement les tentatives de force brute, il est conseillé de configurer le pare-feu de Stackhero (accessible dans l'onglet "Firewall") pour restreindre les connexions uniquement à vos adresses IP. C'est une étape cruciale qui renforcera considérablement votre sécurité !