Redis®*: Premiers pas

Guide rapide pour débuter avec Redis

👋 Bienvenue sur la documentation de Stackhero !

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

  • Interface web Redis Commander incluse.
  • Taille des messages et transferts 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 Redis cloud hosting de Stackhero !

Redis est une base de données en mémoire puissante et extrêmement rapide, adaptée à de nombreux usages. Elle peut servir de système de cache, de key-value store, faciliter le tri de données en temps réel, et fonctionner comme une file d'attente publish-subscribe ainsi qu'un système d'événements.

Redis a changé de licence et n'est plus open source. La communauté, les développeurs et des entreprises ont créé un fork de Redis appelé Valkey, qui est un remplacement direct de Redis. Nous recommandons d'utiliser Valkey à la place de Redis.

Pour vous aider à démarrer, nous avons partagé des exemples de code montrant comment se connecter à une instance Redis. Vous pouvez retrouver ces exemples dans le dépôt GitHub suivant : https://github.com/stackhero-io/redisGettingStarted.

Pour commencer, vous pouvez installer la gem "redis". Pour cela, exécutez :

bundle add redis

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

config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'] }

Enfin, définissez la variable d'environnement REDIS_URL. Voici un modèle à adapter avec vos informations :

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

Par défaut, le cache est activé uniquement en environnement de production. Si vous souhaitez tester le cache en développement, modifiez le fichier config/environments/development.rb. Ajoutez la configuration ci-dessus et incluez config.action_controller.perform_caching = true pour activer le cache. Pour vérifier simplement que le cache fonctionne, lancez une console Rails (avec bin/rails console) et testez avec Rails.cache.write("foo", "bar").

Pour plus de détails sur la configuration de Redis comme système de cache pour Ruby on Rails, consultez la documentation officielle de Rails.

Sidekiq utilisera automatiquement le serveur Redis 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 en savoir plus sur l'utilisation de Sidekiq avec Redis, consultez la documentation officielle de Sidekiq.

Resque, tout comme Sidekiq, utilisera le serveur Redis défini dans la variable d'environnement REDIS_URL.

Définissez 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 Redis, consultez la documentation officielle de Resque.

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

<?php

// Analyse de l'URL Redis
$redis_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://{$redis_url['host']}:{$redis_url['port']}?auth={$redis_url['pass']}&timeout=5");

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

?>

Pour garantir la sécurité de votre instance Redis, il est essentiel de mettre en place certaines mesures de protection.

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

Pour en bénéficier, configurez votre client Redis pour utiliser le chiffrement TLS et connectez-vous à votre instance via le port <PORT_TLS>. Evitez d'utiliser <PORT_CLEAR>, car il ne chiffre pas les données.

L'avantage est que vous n'avez rien d'autre à faire de votre côté, nous avons déjà pris en charge la configuration complexe.

Votre instance Redis est protégée par un mot de passe, que Stackhero définit automatiquement avec une valeur très sécurisée. Si vous décidez de le modifier, choisissez un mot de passe particulièrement complexe.

Redis est très performant mais ne propose pas de protection native contre les attaques par force brute, ce qui permettrait à un attaquant de tester jusqu'à 150 000 combinaisons de mots de passe par seconde.

Pour limiter ce risque, nous imposons une longueur minimale de mot de passe de 16 caractères (soit environ 4.5231285e+74 combinaisons possibles). Par défaut, nous utilisons un mot de passe de 64 caractères (environ 9.61963e+111 combinaisons).

Pour renforcer encore la sécurité et réduire considérablement le risque d'attaques par force brute, il est fortement recommandé de configurer le firewall Stackhero (onglet "Firewall") afin de limiter les connexions uniquement à vos adresses IP. Cette étape est essentielle pour améliorer votre niveau de sécurité.