Partager via


Bibliothèques clientes Azure Managed Redis (préversion)

Azure Managed Redis (préversion) est basé sur le magasin de données en mémoire populaire, Redis. Azure Managed Redis est accessible par un large éventail de clients Redis pour de nombreux langages de programmation. Chaque bibliothèque cliente dispose de sa propre API qui effectue des appels au serveur Redis à l’aide de commandes Redis, mais les bibliothèques clientes sont générées pour communiquer avec n’importe quel serveur Redis.

Chaque bibliothèque cliente entretient sa propre documentation de référence. Les bibliothèques fournissent également des liens pour obtenir de l’aide auprès de la communauté des développeurs de bibliothèques clientes. L’équipe Azure Managed Redis n’est pas responsable du développement ou du support des bibliothèques clients.

Les recommandations ci-dessous sont basées sur la popularité et sur l’existence d’une communauté en ligne active pour vous aider et répondre à vos questions. Nous vous recommandons d’utiliser la dernière version disponible et de procéder régulièrement à une mise à niveau à mesure que de nouvelles versions sont mises à disposition. Ces bibliothèques sont en cours de développement actif et publient souvent de nouvelles versions avec des améliorations en termes de fiabilité et de performances.

Bibliothèque cliente Langage Référentiel GitHub Documentation
StackExchange.Redis C#/.NET Lien Plus d’informations ici
Lettuce Java Lien Plus d’informations ici
Jedis Java Lien
node_redis Node.js Lien
Redisson Java Lien Plus d’informations ici
ioredis Node.js Lien Plus d’informations ici

Remarque

Votre application peut utiliser la bibliothèque client compatible de votre choix avec Redis open source pour se connecter à votre instance Azure Managed Redis.

Choisir la bibliothèque client appropriée en fonction de votre stratégie de clustering

Azure Managed Redis prend en charge la stratégie de clustering Enterprise et la stratégie de clustering OSS. Pour plus d’informations, cliquez ici (ajoutez un lien vers les informations relatives à la stratégie de clustering). Toutes les bibliothèques clientes fonctionnent avec votre instance Redis dans le cadre d’une stratégie de clustering Enterprise. Toutefois, si vous utilisez la stratégie de clustering OSS, assurez-vous que la bibliothèque client que vous choisissez prend en charge la connexion aux instances Redis en cluster.

Commandes bloquées

La configuration et la gestion des instances Azure Managed Redis sont gérées par Microsoft, qui désactive par défaut les commandes suivantes. Pour plus d’informations sur les commandes bloquées, consultez Compatibilité des commandes de gestion des clusters

Commandes multi-clés

Étant donné que les instances AMR utilisent une configuration en cluster, vous pouvez observer des exceptions CROSSSLOT sur les commandes qui fonctionnent sur plusieurs clés. Le comportement varie en fonction de la stratégie de clustering utilisée. Si vous utilisez la stratégie de clustering OSS, les commandes multi-clés ont besoin que toutes les clés soient mappées au même emplacement de hachage.

Vous risquez aussi de voir des erreurs CROSSSLOT avec la stratégie de clustering Enterprise. Seules les commandes multi-clés suivantes sont autorisées sur les emplacements avec clustering Enterprise : DEL, MSET, MGET, EXISTS, UNLINK et TOUCH.

Dans les bases de données en mode Actif-Actif, les commandes d’écriture multi-clés (DEL, MSET, UNLINK) ne peuvent être exécutées que sur les clés situées dans le même emplacement. Les commandes multi-clés suivantes sont toutefois autorisées sur les emplacements des bases de données en mode Actif-Actif : MGET, EXISTS et TOUCH. Pour plus d’informations, consultez Clustering de bases de données.

Commandes bloquées pour la stratégie de clustering Enterprise

  • CLUSTER INFO
  • CLUSTER HELP
  • CLUSTER KEYSLOT
  • CLUSTER NODES
  • CLUSTER SLOTS

Commandes bloquées pour la géoréplication active

  • FLUSHALL
  • FLUSHDB

Conseils pour la bibliothèque cliente

Pour plus d’informations sur les meilleure pratiques relatives aux bibliothèques clientes, consultez les liens suivants :

Redisson (Java)

Nous vous recommandons d’utiliser redisson 3.14.1 ou une version ultérieure. Les versions antérieures contiennent des problèmes de fuite de connexion connus qui provoquent des problèmes après les basculements. Surveillez le journal des modifications Redisson pour rechercher d’autres problèmes connus qui peuvent affecter les fonctionnalités utilisées par votre application. Pour plus d’informations, consultezCHANGELOG les et la FAQ Redisson.

Autres remarques :

  • Redisson utilise par défaut la stratégie « lecture à partir du réplica », contrairement à d’autres clients. Pour modifier ce paramètre, modifiez le paramètre de configuration « readMode ».
  • Redisson a une stratégie de regroupement de connexions avec des paramètres de minimum et maximum configurables, et les valeurs minimales par défaut sont grandes. Les grandes valeurs par défaut peuvent contribuer à des comportements de reconnexion agressifs ou à des « tempêtes de connexions ». Pour réduire le risque, envisagez d’utiliser moins de connexions, car vous pouvez efficacement mettre en pipeline des commandes, ou des lots de commandes, sur quelques connexions.
  • Redisson a un délai d’expiration de connexion inactive par défaut de 10 secondes, ce qui entraîne plus de fermetures et de réouvertures des connexions que l’idéal.

Voici une configuration de base recommandée pour le mode cluster que vous pouvez modifier en fonction des besoins :

clusterServersConfig:
  idleConnectionTimeout: 30000
  connectTimeout: 15000
  timeout: 5000
  retryAttempts: 3
  retryInterval: 3000
  checkLockSyncedSlaves: false
  failedSlaveReconnectionInterval: 15000
  failedSlaveCheckInterval: 60000
  subscriptionsPerConnection: 5
  clientName: "redisson"
  loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
  subscriptionConnectionMinimumIdleSize: 1
  subscriptionConnectionPoolSize: 50
  slaveConnectionMinimumIdleSize: 2
  slaveConnectionPoolSize: 24
  masterConnectionMinimumIdleSize: 2
  masterConnectionPoolSize: 24
  readMode: "MASTER"
  subscriptionMode: "MASTER"
  nodeAddresses:
  - "redis://mycacheaddress:10000"
  scanInterval: 1000
  pingConnectionInterval: 60000
  keepAlive: false
  tcpNoDelay: true

Pour obtenir un article montrant comment utiliser la prise en charge de Redisson pour JCache en tant que magasin d’état de session HTTP dans IBM Liberty sur Azure, consultez Utiliser Java EE JCache avec Open Liberty ou WebSphere Liberty sur un cluster Azure Kubernetes Service (AKS).

Utiliser des bibliothèques clientes

En plus de la documentation de référence, vous pouvez trouver des tutoriels qui montrent comment bien démarrer avec Azure Managed Redis en utilisant différents langages et clients de cache.

Pour plus d’informations sur l’utilisation de certaines de ces bibliothèques clientes dans les tutoriels, consultez les articles suivants :

Étapes suivantes