Delen via


Clientbibliotheken van Azure Managed Redis (preview)

Azure Managed Redis (preview) is gebaseerd op de populaire in-memory data store Redis. Redis-clients voor veel programmeertalen hebben toegang tot Azure Managed Redis. Elke clientbibliotheek heeft een eigen API die aanroepen naar Redis-server doet met behulp van Redis-opdrachten, maar de clientbibliotheken zijn gebouwd om met elke Redis-server te communiceren.

Elke clientbibliotheek onderhoudt zijn eigen referentiedocumentatie. De bibliotheken bieden ook koppelingen om ondersteuning te krijgen via de ontwikkelaarscommunity van de clientbibliotheek. Het Azure Managed Redis-team is niet eigenaar van de ontwikkeling of de ondersteuning voor clientbibliotheken.

De volgende aanbevelingen zijn gebaseerd op populariteit en of er een actieve onlinecommunity is om uw vragen te ondersteunen en te beantwoorden. We raden u alleen aan de nieuwste beschikbare versie te gebruiken en regelmatig een upgrade uit te voeren zodra er nieuwe versies beschikbaar komen. Deze bibliotheken zijn in actieve ontwikkeling en brengen vaak nieuwe versies uit met verbeteringen in betrouwbaarheid en prestaties.

Clientbibliotheek Taal GitHub-opslagplaats Documentatie
StackExchange.Redis C#/.NET Koppeling Meer informatie vindt u hier
Lettuce Java Koppeling Meer informatie vindt u hier
Jedis Java Koppeling
node_redis Node.js Koppeling
Redisson Java Koppeling Meer informatie vindt u hier
ioredis Node.js Koppeling Meer informatie vindt u hier

Notitie

Uw toepassing kan elke clientbibliotheek gebruiken die compatibel is met open-source Redis om verbinding te maken met uw Azure Managed Redis instance.

De juiste clientbibliotheek kiezen op basis van uw clusterbeleid

Azure Managed Redis ondersteunt het Enterprise-clusterbeleid en het OSS-clusterbeleid. Bekijk hier meer informatie (link naar informatie over het clusterbeleid toevoegen).

Alle clientbibliotheken werken met uw Redis-instantie met Enterprise-clusterbeleid. Als u echter het OSS-clusterbeleid gebruikt, moet u ervoor zorgen dat de clientbibliotheek die u kiest, ondersteuning biedt voor het maken van verbinding met geclusterde Redis-exemplaren.

Geblokkeerde opdrachten

Microsoft beheert de configuratie en het beheer van Azure Managed Redis-exemplaren, waardoor de volgende opdrachten standaard worden uitgeschakeld. Voor meer informatie over geblokkeerde commando's, zie compatibiliteit commando's clusterbeheer

Multisleutelopdrachten

Omdat de AMR-instanties een geclusterde configuratie gebruiken, kunt u CROSSSLOT uitzonderingen zien op opdrachten die op meerdere sleutels werken. Het gedrag varieert afhankelijk van het gebruikte clusterbeleid. Als u het OSS-clusterbeleid gebruikt, vereisen multi-sleutelopdrachten dat alle sleutels worden toegewezen aan dezelfde hash-slot.

U kunt ook CROSSSLOT fouten zien met Enterprise-clusterbeleid. Alleen de volgende multi-key opdrachten zijn toegestaan in slots met Enterprise clustering: DEL, MSET, MGET, EXISTS, UNLINK, en TOUCH.

In Active-Active databases kunnen schrijfopdrachten voor meerdere sleutels (DEL, MSET, UNLINK) alleen worden uitgevoerd op sleutels die zich in dezelfde slot bevinden. De volgende multi-key commando's zijn echter toegestaan tussen slots in Active-Active databases: MGET, EXISTS, en TOUCH. Zie Database-clustering voor meer informatie.

Opdrachten die zijn geblokkeerd voor enterprise-clusterbeleid

  • CLUSTER INFO
  • CLUSTER HELP
  • CLUSTER KEYSLOT
  • CLUSTERKNOOPPUNTEN
  • CLUSTER SLOTS

Opdrachten die zijn geblokkeerd voor actieve geo-replicatie

  • FLUSHALL
  • FLUSHDB

Specifieke richtlijnen voor clientbibliotheek

Zie de volgende koppelingen voor informatie over best practices voor clientbibliotheken:

Redisson (Java)

Wij adviseren redisson 3.14.1 of hoger te gebruiken. Oudere versies bevatten bekende problemen met verbindingslekken die problemen veroorzaken na failovers. Houd de Redisson changelog in de gaten voor andere bekende problemen die van invloed kunnen zijn op functies die door uw toepassing worden gebruikt. Voor meer informatie, zieCHANGELOG en de Redisson Veelgestelde vragen.

Overige opmerkingen:

  • Redisson gebruikt standaard de 'read from replica' strategie, in tegenstelling tot sommige andere clients. Als u deze standaardinstelling wilt wijzigen, wijzigt u de configuratie-instelling 'readMode'.
  • Redisson heeft een verbindingspoolingstrategie met configureerbare minimum- en maximuminstellingen, en de standaard minimumwaarden zijn groot. De grote standaardinstellingen kunnen bijdragen aan agressief gedrag voor opnieuw verbinden of 'verbindingsstormen'. Om dit risico te verkleinen, kunt u overwegen om minder verbindingen te gebruiken, omdat u commando's, of batches van commando's, efficiĆ«nt over een paar verbindingen kunt leiden.
  • Redisson heeft een standaard time-out voor niet-actieve verbindingen van 10 seconden, wat leidt tot meer sluiting en heropening van verbindingen dan ideaal.

Hier volgt een aanbevolen basislijnconfiguratie voor de clustermodus die u indien nodig kunt wijzigen:

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

Zie Java EE JCache gebruiken met Open Liberty of WebSphere Liberty in een AKS-cluster (Azure Kubernetes Service) voor een artikel over de ondersteuning van Redisson voor JCache als de opslag voor http-sessiestatus in IBM Liberty in Azure.

Clientbibliotheken gebruiken

Naast de referentiedocumentatie kunt u tutorials vinden die laten zien hoe u aan de slag kunt gaan met Azure Managed Redis door verschillende talen en cache clients te gebruiken.

Zie de volgende artikelen voor meer informatie over het gebruik van een aantal van deze clientbibliotheken in zelfstudies:

Volgende stappen