Modifier

Partager via


FAQ sur le développement avec Redis managé Azure (préversion)

Cet article fournit des réponses aux questions courantes sur le développement pour Redis managé Azure (préversion).

Comment démarrer avec Redis managé Azure (préversion) ?

Il existe plusieurs façons de démarrer avec Redis managé Azure (préversion).

  • Vous pouvez consulter nos didacticiels disponibles pour .NET, ASP.NET, Java, Node.js et Python.
  • Vous pouvez explorer Parcours d’apprentissage d’Azure Redis
  • Vous pouvez consulter la documentation client pour les exemples de clients qui correspondent au langage de développement que vous utilisez dans votre projet. Il existe de nombreux clients Redis qui peuvent être utilisés avec Redis managé Azure. Pour obtenir la liste des clients Redis, voir https://redis.io/clients.

Si vous n’avez pas encore de compte Azure, vous pouvez :

  • Ouvrir un compte Azure gratuitement. Vous obtenez des crédits que vous pouvez utiliser pour essayer des services Azure payants. Même après que les crédits sont épuisés, vous pouvez conserver le compte et utiliser les services et fonctionnalités Azure gratuits.
  • Activez les avantages d’abonnement Visual Studio. Votre abonnement MSDN vous donne droit chaque mois à des crédits dont vous pouvez vous servir pour les services Azure payants.

En quoi consistent les options de configuration StackExchange.Redis ?

StackExchange.Redis présente de nombreuses options. Cette section présente certains des paramètres les plus courants. Pour plus d’informations sur les options de StackExchange.Redis, consultez la page Configuration StackExchange.Redis.

ConfigurationOptions Description Recommandation
AbortOnConnectFail Lorsque la valeur est True, la connexion ne peut pas se reconnecter après une panne réseau. La valeur False laisse StackExchange.Redis se reconnecter automatiquement .
ConnectRetry Nombre de tentatives de connexion pendant la connexion initiale. Reportez-vous aux notes suivantes.
ConnectTimeout Délai d’expiration en millisecondes pour les opérations de connexion. Reportez-vous aux notes suivantes.

Généralement, les valeurs par défaut du client sont suffisantes. Vous pouvez affiner les options en fonction de votre charge de travail.

Nouvelle tentatives

  • Pour ConnectRetry et ConnectTimeout, la recommandation générale consiste à effectuer un Fail-fast, puis à réessayer. Cela dépend de votre charge de travail et de combien de temps, en moyenne, votre client prend pour émettre une commande Redis et recevoir une réponse.
  • Laissez StackExchange.Redis se reconnecter automatiquement au lieu de vérifier l’état de la connexion et de vous reconnecter vous-même. Évitez d’utiliser la propriété ConnectionMultiplexer.IsConnected.
  • Effet boule de neige : vous pouvez rencontrer un problème, vous réessayez, mais le problème ne fait qu’empirer à chaque tentative et n’est jamais résolu. Dans ce cas, envisagez d’utiliser un algorithme de nouvelle tentative de backoff exponentiel, comme décrit dans l’article Conseils généraux sur les nouvelles tentatives, publié par le groupe Microsoft Patterns & Practices.

Valeurs de délai d’expiration

  • Estimez votre charge de travail et définissez les valeurs à faire correspondre. Si vous stockez des valeurs élevées, définissez le délai sur une valeur plus élevée.
  • Définissez AbortOnConnectFail sur False et laissez StackExchange.Redis se reconnecter pour vous.
  • Utilisez une seule instance ConnectionMultiplexer de longue durée plutôt que de créer une connexion pour chaque requête.
  • Définissez la propriété ConnectionMultiplexer.ClientName sur un nom d’instance unique pour faciliter le diagnostic.
  • Utilisez plusieurs instances ConnectionMultiplexer pour les charges de travail personnalisées.
    • Vous pouvez suivre ce modèle si vous savez que la charge de votre application est variable. Par exemple :
    • Vous pouvez avoir un multiplexeur pour gérer les clés de grande taille.
    • Vous pouvez avoir un multiplexeur pour gérer les clés de petite taille.
    • Vous pouvez définir différentes valeurs pour l’expiration du délai et la logique des nouvelles tentatives pour chaque ConnectionMultiplexer que vous utilisez.
    • Définissez la propriété ClientName de chaque multiplexeur pour faciliter le diagnostic.
    • Cette aide permet d’obtenir une latence plus fluide par ConnectionMultiplexer.

Quels clients Redis puis-je utiliser ?

L’un des grands avantages de Redis est qu’il existe de nombreux clients prenant en charge de nombreux langages de développement différents. Pour obtenir la liste actuelle des clients, consultez la page des clients Redis. Pour obtenir des tutoriels couvrant différents langages et différents clients, consultez Guide pratique pour utiliser Redis managé Azure.

Existe-t-il un émulateur local pour Redis managé Azure ?

Il n’existe pas d’émulateur local pour Redis managé Azure. Vous pouvez toutefois exécuter une copie de Redis communauté sur votre ordinateur local et la connecter pour obtenir une expérience similaire à un émulateur de cache local, comme illustré dans l’exemple suivant :

private static Lazy<ConnectionMultiplexer>
    lazyConnection = new Lazy<ConnectionMultiplexer> (() =>
    {
        // Connect to a locally running instance of Redis to simulate
        // a local cache emulator experience.
        return ConnectionMultiplexer.Connect("127.0.0.1:6379");
    });

public static ConnectionMultiplexer Connection
{
    get
    {
        return lazyConnection.Value;
    }
}

Redis s’exécute en mode natif sur Linux, mais vous pouvez également utiliser Sous-système Windows pour Linux pour exécuter Redis sur un ordinateur Windows. Pour plus d’informations, consultez Installer Redis sur Windows.

Comment exécuter des commandes Redis ?

Vous pouvez utiliser les commandes listées dans Commandes Redis, à l’exception de celles qui figurent dans Commandes Redis non prises en charge dans Redis managé Azure. Vous disposez de plusieurs options pour exécuter des commandes Redis.

Vous pouvez aussi utiliser les outils de ligne de commande Redis. Pour les utiliser, consultez Utiliser l’outil en ligne de commande Redis avec Redis managé Azure.

Pourquoi Redis managé Azure n’a-t-il pas de référence de bibliothèque de classes MSDN ?

Redis managé Microsoft Azure est basé sur Redis, le magasin de données en mémoire bien connu. Vous pouvez utiliser une grande variété de clients Redis pour de nombreux langages de programmation. Chaque client a sa propre API, qui fait des appels à l’instance Redis managé Azure en utilisant des commandes Redis.

Étant donné que chaque client est différent, vous ne pouvez pas trouver de référence de classe centralisée sur MSDN. Chaque client gère sa propre documentation de référence. En plus de la documentation de référence, différents tutoriels montrent comment démarrer avec Redis managé Azure en utilisant différents langages et clients de cache. Pour accéder à ces tutoriels, consultez Comment utiliser Redis managé Azure et les articles connexes dans la table des matières.

Quelles sont les bases de données Redis ?

Les bases de données Redis sont tout simplement une séparation logique des données au sein de la même instance Redis. La mémoire cache est partagée entre toutes les bases de données et la consommation réelle de mémoire d’une base de données dépend des clés/valeurs stockées dans cette base de données. Actuellement, Redis managé Azure prend en charge une seule base de données par instance.

En savoir plus avec d’autres FAQ sur Redis managé Azure.