Partilhar via


Bibliotecas de cliente do Azure Managed Redis (visualização)

O Azure Managed Redis (pré-visualização) baseia-se no popular armazenamento de dados na memória, Redis. O Azure Managed Redis pode ser acessado por uma ampla variedade de clientes Redis para muitas linguagens de programação. Cada biblioteca de cliente tem sua própria API que faz chamadas para o servidor Redis usando comandos Redis, mas as bibliotecas de cliente são criadas para falar com qualquer servidor Redis.

Cada biblioteca de cliente mantém sua própria documentação de referência. As bibliotecas também fornecem links para obter suporte através da comunidade de desenvolvedores de bibliotecas cliente. A equipe do Azure Managed Redis não é proprietária do desenvolvimento ou do suporte para nenhuma biblioteca cliente.

As recomendações abaixo baseiam-se na popularidade e na existência ou não de uma comunidade online ativa para apoiar e responder às suas perguntas. Recomendamos apenas usar a versão mais recente disponível e atualizar regularmente à medida que novas versões se tornam disponíveis. Essas bibliotecas estão em desenvolvimento ativo e muitas vezes lançam novas versões com melhorias de confiabilidade e desempenho.

Biblioteca de clientes Idioma Repositório GitHub Documentação
StackExchange.Redis C#/.NET Ligação Mais informações aqui
Lettuce Java Ligação Mais informações aqui
Jedis Java Ligação
node_redis Node.js Ligação
Redisson Java Ligação Mais informações aqui
Ioredis Node.js Ligação Mais informações aqui

Nota

Seu aplicativo pode usar qualquer biblioteca de cliente compatível com o Redis de código aberto para se conectar à sua instância do Azure Managed Redis.

Escolhendo a biblioteca de cliente certa com base em sua política de clustering

O Azure Managed Redis dá suporte à política de cluster Enterprise e à política de clustering OSS. Veja mais informações aqui (adicionar link para informações de política de clustering). Todas as bibliotecas de cliente funcionam com sua instância Redis com a política de cluster Enterprise. No entanto, se você estiver usando a política de cluster OSS, verifique se a biblioteca de cliente escolhida oferece suporte à conexão com instâncias Redis clusterizadas.

Comandos bloqueados

A configuração e o gerenciamento de instâncias do Azure Managed Redis são gerenciados pela Microsoft, que desabilita os comandos a seguir por padrão. Para obter mais informações sobre comandos bloqueados, consulte Compatibilidade de comandos de gerenciamento de cluster

Comandos multiteclas

Como as instâncias AMR usam uma configuração clusterizada, você pode ver CROSSSLOT exceções em comandos que operam em várias chaves. O comportamento varia dependendo da política de clustering usada. Se você usar a política de cluster OSS, os comandos de várias teclas exigirão que todas as chaves sejam mapeadas para o mesmo slot de hash.

Você também pode ver CROSSSLOT erros com a política de cluster Enterprise. Somente os seguintes comandos multichave são permitidos em slots com cluster Enterprise: DEL, MSET, MGET, EXISTS, UNLINKe TOUCH.

Em bancos de dados Ativo-Ativo, os comandos de gravação de várias teclas (DEL, MSETUNLINK, ) só podem ser executados em chaves que estejam no mesmo slot. No entanto, os seguintes comandos de várias teclas são permitidos entre slots em bancos de dados Active-Active: MGET, EXISTSe TOUCH. Para obter mais informações, consulte Clustering de banco de dados.

Comandos bloqueados para a política de cluster Enterprise

  • INFORMAÇÕES DO CLUSTER
  • AJUDA DO CLUSTER
  • RANHURA DE CHAVES DE CLUSTER
  • NÓS DE CLUSTER
  • CLUSTER SLOTS

Comandos bloqueados para replicação geográfica ativa

  • FLUSHALL
  • FLUSHDB

Orientação específica da biblioteca do cliente

Para obter informações sobre as práticas recomendadas de orientação específicas da biblioteca de clientes, consulte os seguintes links:

Redisson (Java)

Recomendamos que você use o redisson 3.14.1 ou superior. As versões mais antigas contêm problemas conhecidos de fuga de ligação que causam problemas após failovers. Monitorar o changelog do Redisson para outros problemas conhecidos podem afetar os recursos usados pelo seu aplicativo. Para obter mais informações, consulteCHANGELOG e as Perguntas frequentes do Redisson.

Outras notas:

  • O padrão Redisson é a estratégia de 'leitura da réplica', ao contrário de alguns outros clientes. Para alterar isso, modifique a configuração 'readMode'.
  • Redisson tem uma estratégia de pool de conexões com configurações mínimas e máximas configuráveis, e os valores mínimos padrão são grandes. Os grandes padrões podem contribuir para comportamentos agressivos de reconexão ou "tempestades de conexão". Para reduzir o risco, considere o uso de menos conexões, pois você pode canalizar comandos de forma eficiente, ou lotes de comandos, em algumas conexões.
  • Redisson tem um tempo limite de conexão ociosa padrão de 10 segundos, o que leva a mais fechamento e reabertura de conexões do que o ideal.

Aqui está uma configuração de linha de base recomendada para o modo de cluster que você pode modificar conforme necessário:

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

Para obter um artigo demonstrando como usar o suporte do TRadisson para JCache como o armazenamento para o estado da sessão HTTP no IBM Liberty no Azure, consulte Usar Java EE JCache com Open Liberty ou WebSphere Liberty em um cluster do Serviço Kubernetes do Azure (AKS).

Como usar bibliotecas de cliente

Além da documentação de referência, você pode encontrar tutoriais mostrando como começar a usar o Azure Managed Redis usando diferentes idiomas e clientes de cache.

Para obter mais informações sobre como usar algumas dessas bibliotecas de cliente em tutoriais, consulte os seguintes artigos:

Próximos passos