Clientbibliotheken van Azure Managed Redis (preview)
Azure Managed Redis (preview) is gebaseerd op het populaire gegevensarchief in het geheugen, Redis. Azure Managed Redis kan worden geopend door een groot aantal Redis-clients voor veel programmeertalen. 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.
Hieronder vindt u aanbevelingen op basis van populariteit en of er een actieve onlinecommunity is om uw vragen te ondersteunen en 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 hier |
Lettuce | Java | Koppeling | Meer informatie hier |
Jedis | Java | Koppeling | |
node_redis | Node.js | Koppeling | |
Redisson | Java | Koppeling | Meer informatie hier |
ioredis | Node.js | Koppeling | Meer informatie hier |
Notitie
Uw toepassing kan elke clientbibliotheek gebruiken die compatibel is met opensource Redis om verbinding te maken met uw Azure Managed Redis-exemplaar.
De juiste clientbibliotheek kiezen op basis van uw clusterbeleid
Azure Managed Redis ondersteunt het clusteringbeleid voor ondernemingen en het OSS-clusteringbeleid. Zie hier meer informatie (koppeling toevoegen aan clusterbeleidsgegevens). Alle clientbibliotheken werken met uw Redis-exemplaar met enterprise-clusteringbeleid. Als u echter het OSS-clusteringbeleid gebruikt, moet u ervoor zorgen dat de clientbibliotheek die u kiest, ondersteuning biedt voor het maken van verbinding met geclusterde Redis-exemplaren.
Geblokkeerde opdrachten
Configuratie en beheer van Azure Managed Redis-exemplaren wordt beheerd door Microsoft, waardoor de volgende opdrachten standaard worden uitgeschakeld. Zie Compatibiliteit van clusterbeheeropdrachten voor meer informatie over geblokkeerde opdrachten
Opdrachten met meerdere sleutels
Omdat de WMV-exemplaren een geclusterde configuratie gebruiken, ziet CROSSSLOT
u mogelijk uitzonderingen op opdrachten die op meerdere sleutels werken. Het gedrag varieert afhankelijk van het gebruikte clusterbeleid. Als u het OSS-clusteringbeleid gebruikt, moeten voor opdrachten met meerdere sleutels alle sleutels worden toegewezen aan dezelfde hash-site.
Mogelijk ziet CROSSSLOT
u ook fouten met enterprise-clusteringbeleid. Alleen de volgende opdrachten met meerdere sleutels zijn toegestaan voor sites met Enterprise-clustering: DEL
, MSET
, MGET
, EXISTS
, , UNLINK
en TOUCH
.
In Active-Active-databases kunnen schrijfopdrachten met meerdere sleutels (DEL
, MSET
, ) UNLINK
alleen worden uitgevoerd op sleutels die zich in dezelfde site bevinden. De volgende opdrachten met meerdere sleutels zijn echter toegestaan voor sites in Active-Active-databases: MGET
, EXISTS
en TOUCH
. Zie Databaseclustering voor meer informatie.
Opdrachten die zijn geblokkeerd voor enterprise-clusteringbeleid
- CLUSTERGEGEVENS
- CLUSTER HELP
- CLUSTERSLEUTELSLOT
- CLUSTERKNOOPPUNTEN
- CLUSTERSITES
Opdrachten die zijn geblokkeerd voor actieve geo-replicatie
- FLUSHALL
- FLUSHDB
Richtlijnen voor clientbibliotheek
Zie de volgende koppelingen voor informatie over aanbevolen procedures voor clientbibliotheekspecifieke richtlijnen:
- StackExchange.Redis (.NET)
- Java - Welke client moet ik gebruiken?
- Sla (Java)
- Jedis (Java)
- Redisson (Java)
- Node.js
- PHP
- HiRedisCluster
- ASP.NET Sessiestatusprovider
Redisson (Java)
U wordt aangeraden redisson 3.14.1 of hoger te gebruiken. Oudere versies bevatten bekende verbindingslekproblemen die problemen veroorzaken na failovers. Het Redisson-wijzigingslogboek controleren op andere bekende problemen kan van invloed zijn op functies die door uw toepassing worden gebruikt. Zie en de veelgestelde vragen over Redisson voor meer informatieCHANGELOG
.
Andere opmerkingen:
- Redisson is standaard ingesteld op 'lezen van replica'-strategie, in tegenstelling tot sommige andere clients. Als u dit wilt wijzigen, wijzigt u de configuratie-instelling readMode.
- Redisson heeft een strategie voor groepsgewijze verbindingen met configureerbare minimum- en maximuminstellingen en de standaard minimumwaarden zijn groot. De grote standaardinstellingen kunnen bijdragen aan agressief gedrag voor opnieuw verbinden of 'verbindingsstormen'. U kunt het risico verminderen door minder verbindingen te gebruiken, omdat u efficiƫnt pijplijnopdrachten of batches opdrachten kunt uitvoeren via een paar verbindingen.
- Redisson heeft een standaard time-out voor niet-actieve verbindingen van 10 seconden, wat leidt tot meer sluiting en opnieuw openen 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 waarin wordt gedemonstreerd hoe u de ondersteuning van Redisson voor JCache gebruikt als de opslag voor DE HTTP-sessiestatus in IBM Liberty in Azure.
Clientbibliotheken gebruiken
Naast de referentiedocumentatie vindt u zelfstudies die laten zien hoe u aan de slag gaat met Azure Managed Redis met behulp van verschillende talen en cacheclients.
Zie de volgende artikelen voor meer informatie over het gebruik van een aantal van deze clientbibliotheken in zelfstudies:
- Codeer een .NET Framework-app
- Codeer een .NET Core-app
- Een ASP.NET-web-app coden
- Een ASP.NET Core-web-app coden
- Een Java-app coden
- Een Node.js-app coden
- Een Python-app coden